zoukankan      html  css  js  c++  java
  • 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++) {
                //...
            }

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

  • 相关阅读:
    消除ie上的:为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件
    JS代码放在head和body中的区别
    iis与apache共用80端口方法集
    如何制作wordpress模板,WordPress模板技术手册
    zt 给博墅加个clocklink时钟
    MSSQL数据库:存储过程实例学习(1)从两个表中取出头两行,然后合并到一个表中
    ecmall 用户后台店铺条幅 在firefox7 以上无法预览的问题
    .NET MVC 实现动态换版
    一道嚼烂的面试题
    [1].gSOAP简介
  • 原文地址:https://www.cnblogs.com/x666-6/p/14537042.html
Copyright © 2011-2022 走看看