Json常用操作
1, 获取json字符串中属性(传统方式)
import net.sf.json.JSONObject
JSONObject json = JSONObject.fromObject(response);
json.getString("qrcode")
2,获取json字符串中属性(面向对象方式)
import com.fasterxml.jackson.databind.ObjectMapper PaymentResponse response = new ObjectMapper().readValue(json, PaymentResponse.class);
3,从json文件中反序列化
ObjectMapper mapper = new ObjectMapper();
InputStream is = WebServiceConfig.class.getResourceAsStream("/webservice.json");
TypeFactory typeFactory = mapper.getTypeFactory();
CollectionType collectionType = typeFactory.constructCollectionType(List.class, WebServiceConfig.class);
List<WebServiceConfig> config1 = mapper.readValue(is, collectionType);
如果不是集合对象则简单
ObjectMapper mapper = new ObjectMapper();
InputStream is = WebServiceConfig.class.getResourceAsStream("/webservice.json");
WebServiceConfig config1 = mapper.readValue(is, WebServiceConfig.Class);
如果Json文件中有些属性是没有的要加上
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
4, 把对象转换成json字符串
JSONArray.fromObject(user)
5,把json字符串转成对象
JSONObject jsonObject = JSONObject.fromObject(json);
BaseUserInfo Address = (BaseUserInfo) JSONObject.toBean(jsonObject, BaseUserInfo.class);
6,对象与json互转
ObjectMapper objectMapper = new ObjectMapper();
// 将Java对象序列化为Json字符串
String objectToJson = objectMapper.writeValueAsString(initUser());
System.out.println(objectToJson);
// 将Json字符串反序列化为Java对象
User user = objectMapper.readValue(objectToJson, User.class);
System.out.println(user);
Json常用操作的更多相关文章
- Python json常用操作
json模块 (字符串操作) json.dumps() :对数据进行编码 json.loads() :对数据进行解码 json模块(文件操作) # 写入 JSON 数据 with open('data ...
- JS 中Json常用操作
转自: https://www.jianshu.com/p/6501b0f3124f 直接定义json var json = {"name": "小明", &q ...
- mysql8.0 新特性,对json类型的常用操作
mysql8 新特性-json数据类型操作 -- 根据key(可多个)获取value SELECT JSON_EXTRACT('{"id": 14, "name" ...
- Json——js和C#对Json的操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式.博主记得几年前在华为外包项目中有一个和Android应用交互的需求,Andr ...
- mongodb的常用操作
对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...
- js,jQuery数组常用操作小结
一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift() ...
- fiddler常用操作
fiddler常用操作 标签(空格分隔): fiddler fidrdler抓取https请求: fiddler是一个很好的抓包工具,但是默认的是抓取HTTP的,对于pc的https的会提示网页不安全 ...
- FastJson的常用操作
FastJson的常用操作 2017-06-05 常用操作包括以下内容: 对象与(JsonObject或JsonArray)与String的互换 String转换为(JsonObject或JsonAr ...
- axios常用操作
axios常用操作 一:函数化编程 1:编写可复用的方法 axios(config)的方法中,有必须的url参数和非必须的options参数.所以我们可以先写一个接受这两个参数的方法,在这个方法中我们 ...
随机推荐
- QT textBrowser 使用
使用环境: VS2010 & QT Designer5 1. 在QT Designer 拖入 textBrowser,点击右键属性获得 name值 2. 在程序使用的地方 加入 ui.te ...
- How to view assertions in the Verdi waveform viewer
In the Cadence Simvision waveform viewer, I can see every assertions listed as a hierarchical signal ...
- .NET Core下的Socket示例.
About.schtml中的代码 @{ ViewData["Title"] = "About"; } <h2>@ViewData["Tit ...
- 模板倍增LCA 求树上两点距离 hdu2586
http://acm.hdu.edu.cn/showproblem.php?pid=2586 课上给的ppt里的模板是错的,wa了一下午orz.最近总是被坑啊... 题解:树上两点距离转化为到根的距离 ...
- ReactNative小笔记
import React, { Component } from 'react'; import { AppRegistry, View } from 'react-native'; export d ...
- lame音频编码注意的点
1.注意每次编码的PCM数据不能太短,如果太短编码函数长期返回-1这样的错误,将导致编码器彻底失效程序奔溃的问题,经测试32000在3200下稳定,大概1/10码率是没有问题的,具体请自行查询或调试 ...
- [daily][qemu][kvm] 使用virtfs在host与guest之间共享目录
如题. 之前我使用NFS,NFS会有同步问题.比如编译文件时候的时间同步问题,见前边的文章. 如今,我们使用高级的virtfs: 见:https://www.linux-kvm.org/page/9p ...
- 图->连通性->最小生成树(克鲁斯卡尔算法)
文字描述 上一篇博客介绍了最小生成树(普里姆算法),知道了普里姆算法求最小生成树的时间复杂度为n^2, 就是说复杂度与顶点数无关,而与弧的数量没有关系: 而用克鲁斯卡尔(Kruskal)算法求最小生成 ...
- LeetCode 896 Monotonic Array 解题报告
题目要求 An array is monotonic if it is either monotone increasing or monotone decreasing. An array A is ...
- Python一个文件调用另外一个文件的方法
from common.Log import MyLog as Log 写法不完善修改为 import common.Log.MyLog as Log 即可