• Fastjson 从JSON字符串中取值 操作示例


    转载自 https://my.oschina.net/u/3421709/blog/1542196

    package jsonDemo;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.TypeReference;
    
    import java.util.HashMap;
    
    public class JSONDemo {
        public static void main(String[] args) {
            //自定义JSON字符串
            String json = "{"name":"卢本伟","age":24,"语录":[{"骚话1":"可以,不跟你多bb","骚话2":"表面兄弟"},{"骚话3":"卢本伟牛逼","骚话4":"给阿姨倒一杯卡布奇诺"}]}";
    
            //JSON字符串转换成JSONObject对象
            JSONObject jo = JSON.parseObject(json);
            System.out.println("初始JSONObject:
    " + jo + "
    ");
    
            //JSONObject对象取得some对应的JSONArray数组
            JSONArray jsarr = jo.getJSONArray("语录");
            System.out.println("JSONObject里面的JSONArray:
    " + jsarr + "
    ");
    
            //JSONArray对象通过getJSONObject(index)方法取得数组里面的JSONObject对象
            JSONObject ao = jsarr.getJSONObject(0);
            System.out.println("JSONObject里面的JSONArray里面的第一个JSONObject:
    " + ao + "
    ");
    
            //JSONobject对象通过key直接取得String的值
            String str = ao.getString("骚话1");
            System.out.println("JSONObject里面的JSONArray里面的第一个JSONObject里的键值对对Key取值:
    " + str + "
    ");
    
            System.out.println("=====================JSON字符串转换成map=========================");
            //Json字符串转换成map
            HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {});
            System.out.println(map.get("语录"));
            System.out.println(map.get("name"));
        }
    }
    


    输出结果如下:

    初始JSONObject:
    {"name":"卢本伟","语录":[{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}],"age":24}
    
    JSONObject里面的JSONArray:
    [{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}]
    
    JSONObject里面的JSONArray里面的第一个JSONObject:
    {"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"}
    
    JSONObject里面的JSONArray里面的第一个JSONObject里的键值对对Key取值:
    可以,不跟你多bb
    
    =====================JSON字符串转换成map=========================
    [{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}]
    卢本伟

        要遍历JSONArray对象,可以通过size( )方法取得JSONArray的长度,JSONArray.getJSONObject(index)取得里面JSONObject对象;如:

       

            JSONArray jsarr = jo.getJSONArray("语录");
    
            for (int i = 0; i < jsarr.size();i++) {
                //...
            }

    ------------恢复内容开始------------

    转载自 

    package jsonDemo;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.TypeReference;
    
    import java.util.HashMap;
    
    public class JSONDemo {
        public static void main(String[] args) {
            //自定义JSON字符串
            String json = "{"name":"卢本伟","age":24,"语录":[{"骚话1":"可以,不跟你多bb","骚话2":"表面兄弟"},{"骚话3":"卢本伟牛逼","骚话4":"给阿姨倒一杯卡布奇诺"}]}";
    
            //JSON字符串转换成JSONObject对象
            JSONObject jo = JSON.parseObject(json);
            System.out.println("初始JSONObject:
    " + jo + "
    ");
    
            //JSONObject对象取得some对应的JSONArray数组
            JSONArray jsarr = jo.getJSONArray("语录");
            System.out.println("JSONObject里面的JSONArray:
    " + jsarr + "
    ");
    
            //JSONArray对象通过getJSONObject(index)方法取得数组里面的JSONObject对象
            JSONObject ao = jsarr.getJSONObject(0);
            System.out.println("JSONObject里面的JSONArray里面的第一个JSONObject:
    " + ao + "
    ");
    
            //JSONobject对象通过key直接取得String的值
            String str = ao.getString("骚话1");
            System.out.println("JSONObject里面的JSONArray里面的第一个JSONObject里的键值对对Key取值:
    " + str + "
    ");
    
            System.out.println("=====================JSON字符串转换成map=========================");
            //Json字符串转换成map
            HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {});
            System.out.println(map.get("语录"));
            System.out.println(map.get("name"));
        }
    }
    


    输出结果如下:

    初始JSONObject:
    {"name":"卢本伟","语录":[{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}],"age":24}
    
    JSONObject里面的JSONArray:
    [{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}]
    
    JSONObject里面的JSONArray里面的第一个JSONObject:
    {"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"}
    
    JSONObject里面的JSONArray里面的第一个JSONObject里的键值对对Key取值:
    可以,不跟你多bb
    
    =====================JSON字符串转换成map=========================
    [{"骚话2":"表面兄弟","骚话1":"可以,不跟你多bb"},{"骚话4":"给阿姨倒一杯卡布奇诺","骚话3":"卢本伟牛逼"}]
    卢本伟

        要遍历JSONArray对象,可以通过size( )方法取得JSONArray的长度,JSONArray.getJSONObject(index)取得里面JSONObject对象;如:

       

            JSONArray jsarr = jo.getJSONArray("语录");
    
            for (int i = 0; i < jsarr.size();i++) {
                //...
            }

    ------------恢复内容结束------------

  • 相关阅读:
    计算机网络基础
    OA项目(MVC项目)
    修改XML的节点内容
    项目实战-电商(网上书城)
    DataTables ajax bootstrap 分页/搜索/排序/常见问题
    DNS服务器解析域名的过程
    bootstrap 模态框
    QuickChm 制作chm文档 chm文档脚本错误,乱码
    poi 读取word文档
    commons -lang(2) RandomStringUtils RandomUtils
  • 原文地址:https://www.cnblogs.com/x666-6/p/14537042.html
Copyright © 2020-2023  润新知