zoukankan      html  css  js  c++  java
  • fastjson对json操作

    fastjson对json字符串JSONObject和JSONArray互相转换操作示例

     fastjson的方法:
    Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
    public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
    public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
    public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
    public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
    public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

    2017-03-25

    直接上代码:

    复制代码
    package com.tapt.instance;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    public class Jsontest {
    public static void main(String[] args) {    
        String json="{"name":"刘德华","age":35,"some":[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]}";
        JSONObject jso=JSON.parseObject(json);//json字符串转换成jsonobject对象
        System.out.println("初始jsonObject:
    "+jso+"
    ");
        JSONArray jsarr=jso.getJSONArray("some");//jsonobject对象取得some对应的jsonarray数组
        System.out.println("jsonObject里面的jsonarray:
    "+jsarr+"
    ");
       JSONObject ao=jsarr.getJSONObject(0);//jsonarray对象通过getjsonobjext(index)方法取得数组里面的jsonobject对象
       System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject:
    "+ao+"
    ");
       String vString=ao.getString("k1");//jsonobject对象通过key直接取得String的值
       System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:
    "+vString+"
    ");
    }
    }
    复制代码

    控制台输出:

    初始jsonObject:
    {"age":35,"name":"刘德华","some":[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]}

    jsonObject里面的jsonarray:
    [{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]

    jsonObject里面的jsonarray里面的第一个jsonobject:
    {"k1":"v1","k2":"v2"}

    jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:
    v1

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

    for(int index=0;index<jsonarray.size(),index++){}

  • 相关阅读:
    闪电侠 Netty 小册里的骚操作
    面试被问烂的 Spring IOC(求求你别再问了)
    面试问烂的 Spring AOP 原理、SpringMVC 过程(求求你别问了)
    使用 Cglib 实现多重代理
    Redis 初次见面
    Apollo 10 — adminService 全量发布
    Apollo 9 — adminService 主/灰度版本发布
    简析限流算法
    Dubbo 源码分析
    Dubbo 源码分析
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7382271.html
Copyright © 2011-2022 走看看