如何在Java中使用JSON

  介绍

这篇文章将为大家详细讲解有关如何在Java中使用JSON,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1。常用的JSON转换

, JSONObject转JSON字符串

JSONObject  json =, new  JSONObject ();   jsonObject.put (“name",,“test");   String  str =, JSONObject.toJSONString (json);

json字符串转json

String  str =,“{\“\“名称:\“测试\“}”;   JSONObject  json =, JSONObject.parseObject (str);

实体类转JSON

Test  Test =, new 测试();   test.setName (“test");   String  testStr =, JSONObject.toJSONString(测试);   JSONObject  json =, JSONObject.parseObject (testStr);

地图转JSON

JSONObject  json =, JSONObject.parseObject (JSON.toJSONString(地图));

JSON转地图

Map  jsonToMap =, JSONObject.parseObject (jsonObject.toJSONString ());

2。将多个JSON合并一个

JSONObject  totalJSON =, new  JSONObject ();   totalJSON.putAll (json1);   totalJSON.putAll (json2);

<代码> json1, json2> {   ,json1: {},   ,json2: {}   }

3。JSON拆分

不同的需求有不同的做法,以下提供两种解决思路

<李>

定义两个或多个JSON进行把和删除比如明确需要哪些字段的时候可以定义一个数组用来存放关键信息。存放和删除的时候只需要遍历数组就可以。

<李>

遍历JSON,获取钥匙,价值再重新把

4。JSON遍历

定义一个工具类,获取键和值

如果(object  instanceof  JSONObject), {   JSONObject 才能;JSONObject =, (JSONObject),对象;   for 才能;(Map.Entry<字符串,Object>,条目:,jsonObject.entrySet ()), {   ,,,Object  o =, entry.getValue ();   ,,,如果(o  instanceof 字符串),{   ,,,,,System.out.println(“关键:“,+,entry.getKey(), +,“,价值:“,+,entry.getValue ());   ,,,},{else    ,,,,,jsonLoop (o);   ,,,}   ,,}   }   如果(JSONArray object  instanceof ), {   JSONArray 才能;JSONArray =,(获取),对象;   ,,(int 小姐:=,0;,小姐:& lt;, jsonArray.size();,小姐:+ +),{   ,,,jsonLoop (jsonArray.get(我));   ,,}   JSONArray}

遍历的方式有很多种

为(int 小姐:=,0;,小姐:& lt;, jsonArray.size();,我+ +){   JSONObject  json =, jsonArray.getJSONObject(我);   }

foreach

jsonArray.forEach (o →, {   if 才能;(o  instanceof  JSONObject), {   ,,,JSONObject  json =, (JSONObject), o;   以前,,}

迭代器

JSONObject  JSONObject =, new  JSONObject (jsonString);   Iterator  Iterator =, jsonObject.keys ();   而(iterator.hasNext ()) {   key =,(字符串),iterator.next ();   时间=value  jsonObject.getString(关键);   }

5。JSONPath

另外向大家推荐一个非常好用的工具:JSONPath。

JSONPath是一种简单的方法来提取给定JSON的部分内容,使用方式类似于正则表达式。GitHub地址:https://github.com/json-path/JsonPath

简单描述下使用方法已经自己使用的案例pom文件依赖:

& lt; dependency>   & lt;才能groupId> com.jayway.jsonpath</groupId>   & lt;才能artifactId> json-path</artifactId>   & lt;才能version> 2.2.0</version>   & lt;/dependency>

JsonPath表达式总是以与XPath表达式结合使用XML文档相同的方式引用JSON结构。

JsonPath中的“根成员对象“始终称为美元,无论是对象还是数组。

JsonPath表达式可以使用点表示法。

这里有个表格,说明JsonPath语法元素和对XPath元应素的对比。

如何在Java中使用JSON

官方案例:

如何在Java中使用JSON ,

如何在Java中使用JSON ,

详细大家还是参照官方解说。下面是我写的案例:

JSONArray  JSONArray =, JSONPath.read (“.ePrint.common . . label"美元);

如何在Java中使用JSON