JSONObject类
- JSONObject是一种数据结构,相当于JSON格式的数据结构(KV结构),可以使用put方法给json对象添加元素,JSONObject可以方便转化成字符串和对象。
- pom文件引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
- 通过hashMap数据结构生成
Map map = new HashMap();
map.put(数据);
JSONObject json = new JSONObject(map);
- 通过实体生成
Student s = new Student();
//对象转成string
String stu = JSONObject.toJSONString(s);
- JSON字符串转化成JSON对象
String stu = "{\"id\":1,\"age\":2}";
//JSON字符串转换成JSON对象
JSONObject json = JSONObject.parseObject.parseObject(stu);
- list对象转化成listJSON
List list = new ArrayList();
//list转json字符串
String st = JSON.toJSON(list).toString();
//json字符串转listJson格式
JSONArray jsonArray = JSONObject.parseArray(string);
1.java对象转化成String
String s=JSONObject.toJSONString(javaObject.class);
2. java对象转化成Object
Object str=JSONObject.toJSON(javaObject.class);
3.String类型转json对象
JSONObject jsonObject= JSONObject.parseObject(str);
4. String转Object
Object obj=JSONObject.parse(str);
5. json对象转化成Object
Object obj=JSONObject.toJavaObject(jsonObject, javaObject.class);
6. String转化为Map类型
Map map = JSONObject.parseObject(str,Map.class);
7. String类型的集合转List
List list= JSONObject.parseArray(stringList);
8. json对象转化为List类型
JSONArray.parseArray(JSONObject.toJSONString(jsonObject, List.class))
9.String转jsonArray
JSONArray jsaonArray=JSONObject.parseArray(str);
****10.String转java对象**(常用)**
JavaObject obj=JSON.parseObject(str,javaObject.class);
后面的.class也可以省略。
- 过程中遇到的问题
JSONObject jsonObject = new JSONObject();
jsonObject.put("name","123456");
TestEntity testEntity = (TestEntity)JSONObject.toBean(jsonObject, TestEntity.class);
假如toBean( )方法调用不了,要转化成实体类的话,可以使用下面的方法。
JSONObject jsonRspHead = jsonObject.getJSONObject("rspHead");
RspHead rsp = JSONObject.toJavaObject(jsonRspHead,RspHead.class);
- 假如返回值是一单值,可以使用getString(“Key”)方法。
String name = jsonObject.getString("name");
- 如果返回值是一个多个对象组成的json数组,使用getJSONArray(“Key”);,当要遍历这个数组时,如果.lenght( )方法调用不了,可以使用.size( )方法替代来遍历。
- json对象转化成list
//现在这个数据是获取的一个数组
JSONArray lymphsArray = json.getJSONArray("lymphs);
List<Lymph> lymphList = JSON.parseArray(String.valueof(lymphsArray),Lymph.class);