1.具体操作
@PostMapping("getTest")
public Result getTest(@RequestBody JSONObject data){
JSONArray test = data.getJSONArray("test");
JSONObject abc = data.getJSONObject("abc");
//JSONArray转list ()的实体类为我数据需要存的实体类
List<Tag> tags = test.toJavaList(Tag.class);
//JSONArray转String
/**
* String字符串:
* var str1 = '{ "name": "cxh", "sex": "man" }';
* JSON对象:
* var str2 = { "name": "cxh", "sex": "man" };
*/
String s = JSONArray.toJSONString(test);
String s1 = s.toString(); //s,s1类型无差别
// System.out.println(s);
// System.out.println(s1);
//arrayString转JSONArray
JSONArray jsonArray = JSONArray.parseArray(s);
//list转JSONArray
//list先转string,再转JSONArray
JSONArray tagsArray = JSONArray.parseArray(tags.toString());
//JSONObject
//JSONObject转String
String s2 = JSONObject.toJSONString(abc);
//JSONObject转实体类
//JSONObject转String、实体类为需要存到数据库对应的
Tag tag = JSONObject.parseObject(s2, Tag.class);
//String转JSONObject
JSONObject jsonObject = JSONObject.parseObject(s2);
//实体类转JSONObject
// Tag tag1 = JSONObject.parseObject(s2, Tag.class);
JSONObject toJSON = (JSONObject) JSONObject.toJSON(tag);
return Result.ok("ok");
}
2.相关Java方法
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); // 将JavaBean转换为JSONObject或者JSONArray。