以引用fastjson2为例子
找到官方文档
alibaba.github.io/fastjson2/
pom.xml
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.52</version>
</dependency>
将JSON解析为JSONObject
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
String text = "{\"name\":\"John\", \"age\":30}"
JSONObject data = JSON.parseObject(text)
log.info("data {}",data)
将JSON解析为JSONArray
String textArr = "[\"1\",\"2\",\"3\",\"4\"]";
JSONArray data2 = JSON.parseArray(textArr);
log.info("data2 {}",data2);
将JSON解析为Java对象
String text3 = "{\"name\":\"John\", \"age\":30}"
User data3 = JSON.parseObject(text3, User.class)
将Java对象序列化为JSON
String data4 = JSON.toJSONString(data3)
获取简单属性
String data5 = data3.getName()
String data6 = String.valueOf(data2.getJSONArray(1))
全部代码
package com.example.fastjson.controller
import com.alibaba.fastjson2.JSON
import com.alibaba.fastjson2.JSONArray
import com.alibaba.fastjson2.JSONObject
import com.example.fastjson.domain.User
import lombok.extern.slf4j.Slf4j
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import java.util.HashMap
import java.util.Map
@RestController
@RequestMapping("test")
@Slf4j
public class TestController {
@GetMapping("")
public Map<String, Object> test(){
String text = "{\"name\":\"John\", \"age\":30}"
JSONObject data = JSON.parseObject(text)
log.info("data {}",data)
String textArr = "[\"1\",\"2\",\"3\",\"4\"]"
JSONArray data2 = JSON.parseArray(textArr)
log.info("data2 {}",data2)
String text3 = "{\"name\":\"John\", \"age\":30}"
User data3 = JSON.parseObject(text3, User.class)
String data4 = JSON.toJSONString(data3)
String data5 = data3.getName()
String data6 = String.valueOf(data2.getJSONArray(1))
JSONObject data7 = JSONObject.parseObject("{\"name\":\"John\", \"age\":30}")
User user = data7.getObject("key", User.class)
Map<String, Object> result = new HashMap<>()
result.put("data", data)
result.put("data2", data2)
result.put("data3", data3)
result.put("data4", data4)
result.put("data5", data5)
result.put("data6", data6)
result.put("user", user)
return result
}
}