String、JSONObject、JSONArray之间互相转换

首先在maven中添加阿里的fastjson依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.68</version>
</dependency>

1.String转JSONObject

格式:JSONObject parseObject(String text)
其中:text为JSONObject格式的字符串,如:{"k1":"v1","k2":"v2"}

String s1 = "{\"datasetId\":602,\"cfg\":\"\"}";
JSONObject jsonObject = JSONObject.parseObject(s1);

2.String转JSONArray

格式:JSONArray parseArray(String text)
其中:text为JSONArray格式的字符串,如:[{"k1":"v1","k2":"v2"},{"k3":"v3"}]

String s2 = "[{\"column\":\"amount\",\"aggType\":\"sum\"}]";
JSONArray jsonArray = JSONArray.parseArray(s2);

3.JSONObject中的数据提取为JSONArray

格式:JSONArray getJSONArray(String key)
其中:key为JSONObject对象中的某个key,且对应的value应是JSONArray格式的,如:{"k1":[{"k2":"v2"},{"k3":"v3"}]}

String s3 = "{\"datasetId\":602,\"values\":[{\"column\":\"amount\",\"aggType\":\"sum\"}]}";
JSONObject jsonObject3 = JSONObject.parseObject(s3);
JSONArray jsonArray3 = jsonObject3.getJSONArray("values");

4.JSONArray提取为JSONObject

格式:JSONObject getJSONObject(int index)
其中:getJSONObject的对象为array类型,index为数组下标

String s4 = "[{\"columnName\":\"assets_group\",\"filterType\":\"≠\",\"values\":[\"苹果\"]},{\"columnName\":\"audit_date\",\"filterType\":\"[a,b]\",\"values\":[\"2020-03-15\",\"2020-04-15\"]},null]";
JSONArray jsonArray4 = JSONArray.parseArray(s4);
JSONObject jsonObject4 = jsonArray4.getJSONObject(0);

5.JSONObject获取value

格式:Object get(Object key)

jsonObject.get("datasetId")

6.Map转JSONstring

直接返回map其实就是json格式

JSONUtils.toJSONString(map);

7.JSON转实体类

格式:JSON.parseObject(string,A.class)

DatasourceConfig datasourceConfig = JSON.parseObject(config, DatasourceConfig.class);

8.实体类转JSON

JSONObject.toJSONString(object)

 

参考:https://www.cnblogs.com/ljangle/p/11047111.html

 
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值