java字符串与json互转

     开发中经常遇到将字符串转成json和字符串转成json属组的方法,网上搜到的方法,好多都是不好用的,今天这里记录一下方便自己今后查看,也提供给需要的人。

依赖:

  <!-- 处理json -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.56</version>
        </dependency>

代码:

复制代码
public static void main(String[] args) {

        //字符串转json对象
        String jsonStr = "{ expires_in: 2592000,\n" +
                "refresh_token: \"122.2582432a1cf40bc91ca31c10b5a6c038.Y3l6ETFhyjmS8ABFNRv3cPcJzKO-Pl9M4TCnUpx.LHh1Vw\",\n" +
                "access_token: \"121.fd4b4277dba7a65a51cf370d0e83f567.Y74pa1cYlIOT_Vdp2xuWOqeasckh1tWtxT9Ouw5.LPOBOA\",\n" +
                "session_secret: \"\",\n" +
                "session_key: \"\",\n" +
                "scope: \"basic netdisk\"\n" +
                "}";

        JSONObject json=(JSONObject) JSONObject.toJSON(JSON.parse(jsonStr));
        System.out.println("access_token:"+json.getString("access_token"));

        //字符串转json对象数组
        String jsonArrayStr ="{  \n" +
                "   \"users\": [\n" +
                "        {\n" +
                "            \"id\": \"1\",\n" +
                "            \"name\": \"张三\",\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2\",\n" +
                "            \"name\": \"李四\",\n" +
                "        } \n" +
                "    ]\n" +
                "}";
        JSONObject jsonTemp=(JSONObject) JSONObject.toJSON(JSON.parse(jsonArrayStr));
        JSONObject jsnobject = new JSONObject(jsonTemp);
        JSONArray jsonArray = jsnobject.getJSONArray("users");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            System.out.println(jsonObject.get("name"));
        }

    }
复制代码

输出结果:

 

补充一些方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 1. String 转 JSONObject
String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonMessage);
 
// 2. String 转 JSONArray
String jsonMessage = "[{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}]";
JSONArray jsonArray = JSONArray.parseArray(jsonMessage);
 
// 3. JSONObject 转 String
String jsonMessage = jsonObject.toString();
 
// 4. JSONObject 转 JSONArray
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject);
 
// 5. JSONArray 转 String
String jsonMessage = jsonArray.toString();
 
// 6. JSONArray 转 JSONObject
// 获取 JSONArray 指定 index 的对象
Object o = jsonArray.get(index);
// 转为 List 集合
List<类> list = jsonArray.toJavaList(类.class);

 

推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL! 资源丰富的的网盘资源:网盘资源大全! 推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!
posted @   万笑佛  阅读(15719)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示