json的解析(包含json数组,各种复杂的JSON)

import com.alibaba.fastjson.JSON;

import java.util.List;
import java.util.Map;

/**

  • json工具类

*/
public class FastJsonUtils {

/**
 * 将JSON字符串转为对象
 *
 * @param text
 * @param clazz
 * @return
 */
public static <T> T parseObject(Object text, Class<T> clazz) {
    if (text == null) {
        return null;
    }
    if (text.toString().length() == 0) {
        return null;
    }
    return JSON.parseObject(text.toString(), clazz);
}

/**
 * 讲对象转为JSON字符串
 *
 * @param object
 * @return
 */
public static String toJSONString(Object object) {
    return JSON.toJSONString(object);
}


public static void main(String[] args) {
    //把下列JSON解析成一个Map
    String json = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\",\"key4\":\"value4\"}";
    Map<String, String> map = parseObject(json, Map.class);
    System.out.println();

    //把下列JSON解析成一个List
    String json1 = "[\"value1\",\"value2\",\"value3\",\"value4\"]";
    List<String> list = parseObject(json1, List.class);
    System.out.println();

    //把下列JSON解析成一个List
    String json3 = "[{\"k1\":1,\"k2\":2},{\"k1\":1,\"k2\":2}]";
    List<Map<String, Integer>> list1 = parseObject(json3, List.class);
    System.out.println();

    //把下列JSON解析成一个Map
    String json4 = "{\"k1\":[\"v1\",\"v2\"],\"k2\":[\"v1\",\"v2\"]}";
    Map<String, List<String>> map1 = parseObject(json4, Map.class);
    System.out.println();

   //把下列JSON解析成一个Map
    String json5 = "{\"k1\":{\"k1\":{\"k1\":\"v1\",\"k2\":\"v2\"},\"k2\":{\"k1\":\"v1\",\"k2\":\"v2\"}},\"k2\":{\"k1\":{\"k1\":\"v1\",\"k2\":\"v2\"},\"k2\":{\"k1\":\"v1\",\"k2\":\"v2\"}}}";
    Map<String, Map<String, Map<String, String>>> map2 = parseObject(json5, Map.class);
    System.out.println();
}

}

在线JSON校验格式化工具http://www.bejson.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值