【业务功能篇33】 JSON格式转换各自场景

list 集合  ---》 json格式字符串


strjson strlist = JSONArray.toJSONString(list);  //list为 List<Object> 
//输出 ["str1","str2"] json格式的数组字符串

JsonObject、JsonArray、String的转换

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

String test="{"name":["boy","girl"]}";

JSONObject jsonOjbect=JSON.parseObject(test); string转为object类型

JSONArray array = jsonOjbect.getJSONArray("name"); 获取值["boy","girl"]

String str = JSONObject.toJSONString(array);

JSONString 与 JSONObject 相互转化

(1)JSONString ==> JSONObject

String jsonStr = "{\"key1\":\"value1\"}";   // 反斜杠是java中用于转义特殊字符 " 的
JSONObject jsonObject = JSON.parseObject(jsonStr);

(2)JSONObject ==> JSONString

String jsonStr = jsonObject.toJSONString();

JSONString 与 JAVA对象 相互转化

(1)JSONString  ==> JAVA对象

String jsonStr = "{\"name\":\"张三\"}";   // 反斜杠是java中用于转移特殊字符 " 的
User user = JSON.parseObject(jsonStr, User.class);

(2) JAVA对象 ==> JSONString 

String jsonStr = JSON.toJSONString(user);

泛型的反序列化(使用 TypeReference 传入类型信息)

Map<String, Object> map = new HashMap<String, Object>();
map.put("key1", "One");
map.put("key2", "Two");
String mapJson = JSON.toJSONString(map); // 转 JSONString
Map<String, Object> map = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){});  // 泛型反序列化

List转JSONArray

List<T> list = new ArrayList<T>();
JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));


JSONArray 转 String

String str = array.toJSONString();


JSONArray转List


List<EventColAttr> list = JSONObject.parseArray(array.toJSONString(), EventColAttr.class);



String转JSONArray

String str = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]";
JSONArray tableData = JSONArray.parseArray(str);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值