JSON.parseObject,把字符串转化为json对象;JSON.toJSONString则是将json对象转为字符串。在前后台的传输过程中,Json字符串是相当常用的
首先用maven引入fastjson(pom.xml)
<dependency>
<groupId>com.taobao.tddl</groupId>
<artifactId>tddl-client</artifactId>
<version>5.2.6</version>
<exclusions>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</exclusion>
</exclusions>
</dependency>
package com.alibaba.logPlayBack.logHistory;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class testEmpty {
public static void main(String[] args) {
JSONObject jo = new JSONObject();
jo.put("a", "1");
jo.put("b", "2");
String json = jo.toJSONString();
System.out.println("jo为==" + jo);
System.out.println("json为==" + json);
if (json instanceof String) {
System.out.println("success");
}
System.out.println(JSON.parseObject("") + "====测试1===");
System.out.println(JSON.parseObject(json) + "====测试2====");
// 字符串 key value
String str = "{\"appScene\":\"mobile_xx\",\"secondsEnd\":\"0\", " +
"\"aiSdkInfo\":\"{\\\"machineType\\\":\\\"android\\\"}\",\"version\":\"8.6.3\"}";
JSONObject js = JSON.parseObject(str);
if (js instanceof JSONObject) {
System.out.println("success");
}
System.out.println("js为==" + js);
System.out.println(js.containsKey("appScene"));
System.out.println(js.containsKey("machineType"));
System.out.println(JSON.parseObject(js.getString("aiSdkInfo")).getString("machineType") + "====测试3====");
System.out.println(JSON.parseObject(str).getJSONObject("aiSdkInfo").getString("machineType") + "====测试4====");
System.out.println(JSON.parseObject(str).getString("secondsEnd") + "====测试5====");
System.out.println(JSON.parseObject(str).getString("appScene") + "====测试6====");
// 字符串 key value
String result = "{\"success\":\"true\",\"returnAddress\":\"123\"}";
//转换成object
JSONObject jsonObject = JSON.parseObject(result);
//获取object中returnAddress字段
jsonObject.getString("returnAddress");
System.out.println("returnAddress为==" + JSON.parseObject(result).getString("returnAddress"));
// JSONObject
String result1 = "{\"success\":\"true\",\"data\":{\"shop_uid\":\"123\"}}";
JSONObject shop_user = JSON.parseObject(result1);
JSON.parseObject(shop_user.getString("data")).getString("shop_uid");
System.out.println("shop_uid为==" + JSON.parseObject(result1).getJSONObject("data").getString("shop_uid"));
// JSONObject
String result2 = "{\"success\":\"true\",\"data\":[{\"shop_uid\":456},{\"shop_name\":\"张三\"}]}";
System.out.println("shop_uid为==" + JSON.parseObject(result2).getJSONArray("data").getJSONObject(0).getInteger("shop_uid"));
System.out.println("{\"shop_uid\":456}为==" + JSON.parseObject(result2).getJSONArray("data").get(0));
System.out.println("{\"shop_uid\":456}为==" + JSON.parseObject(result2).getJSONArray("data").getJSONObject(0));
String ship = "[{\"shop_uid\":456},{\"shop_name\":\"张三\"}]";
JSONArray detail = JSON.parseArray(ship);
for (int i = 0; i < detail.size(); i++) {
if (detail.get(i) != null || !detail.get(i).equals("")) {
JSONObject detailChild = detail.getJSONObject(i);
System.out.println("detailChild==" + detailChild);
}
}
}
}
运行结果:
jo为=={"a":"1","b":"2"}
json为=={"a":"1","b":"2"}
success
null====测试1===
{"a":"1","b":"2"}====测试2====
success
js为=={"appScene":"mobile_xx","aiSdkInfo":"{\"machineType\":\"android\"}","secondsEnd":"0","version":"8.6.3"}
true
false
android====测试3====
android====测试4====
0====测试5====
mobile_xx====测试6====
returnAddress为==123
shop_uid为==123
shop_uid为==456
{"shop_uid":456}为=={"shop_uid":456}
{"shop_uid":456}为=={"shop_uid":456}
detailChild=={"shop_uid":456}
detailChild=={"shop_name":"张三"}
Process finished with exit code 0