java JSON参数的解析

2023-10-09  本文已影响0人  Yluozi

Java中并没有内置的 JSON 解析,需要使用第三方类库
fastJson :阿里巴巴的JSON 库,优势在于解析速度快,解析效率高,可以轻松处理大量的 JSON 数据
JackSon : 社区十分活跃,spring框架默认使用jackson,** Jackson 则更加全面,支持多种数据格式,拥有丰富的序列化和反序列化特性,例如格式化输出、自定义序列化和反序列化等**
Gson : 谷歌开发的JSON 库,内置方法也很丰富

使用样例

String转JOSN

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

String dataStr = JSONObject.parseObject(responseStr).get("data").toString();
String user = JSONObject.parseObject(dataStr).get("principal").toString();

java对象转String

#...
service.addPn(new Gson().toJson(addPortVlan));

String转java对象

#...
BusinessBean resultBean = new Gson().fromJson(res,BusinessBean .class);

String转List<Map>

import com.google.gson.reflect.TypeToken;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
#...
 String jsonString = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"},{\"name\":\"Jane\",\"age\":25,\"city\":\"Chicago\"}]";
        Gson gson = new Gson();
        List<Map<String, Object>> list = gson.fromJson(jsonString, new TypeToken<List<Map<String, Object>>>(){}.getType());
        
        // 输出转换后的LIST<MAP>
        for (Map<String, Object> map : list) {
            System.out.println(map);
        }

依赖引用

#fastJson 
 <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.58</version>
</dependency>
#JackSon 
 <dependency>
     <groupId>org.json</groupId>
     <artifactId>json</artifactId>
     <version>20180130</version>
 </dependency>
#Gson 
 <dependency>
     <groupId>com.google.code.gson</groupId>
     <artifactId>gson</artifactId>
     <version>2.3.1</version>
 </dependency>


上一篇下一篇

猜你喜欢

热点阅读