利用fastjson解析大文本JSON

前端之家收集整理的这篇文章主要介绍了利用fastjson解析大文本JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
public static void readBigJson(){
        String json = "{" +
                "\"array\": [1,2,3]," +
                "\"arraylist\": [" +
                    "{\"a\": \"b\"," +
                        "\"c\": \"d\"," +
                        "\"e\": \"f\"}," +
                    "{\"a\": \"b\"," +
                        "\"e\": \"f\"}  " +
                    "]," +
                "\"object\": {" +
                    "\"a\": \"b\"," +
                    "\"c\": \"d\"," +
                    "\"e\": \"f\"}," +
                "\"string\": \"Hello World\"" +
                "}";
    // 如果json数据以形式保存在文件中,用FileReader进行流读取,path为json数据文件路径。
    // JSONReader reader = new JSONReader(new FileReader(path));
    // 为了直观,方便运行,就用StringReader做示例!
    JSONReader reader = new JSONReader(new StringReader(json));
    reader.startObject();
    System.out.print("start read json with fastjson");
    while (reader.hasNext())
    {
        String key = reader.readString();
        System.out.println("key " + key);
        if (key.equals("array"))
        {
            reader.startArray();
            System.out.println("start " + key);
            while (reader.hasNext())
            {
                String item = reader.readString();
                System.out.println(item);
            }
            reader.endArray();
            System.out.println("end " + key);
        }
        else if (key.equals("arraylist"))
        {
            reader.startArray();
            System.out.println("start " + key);
            while (reader.hasNext())
            {
                reader.startObject();
                System.out.println("start arraylist item");
                while (reader.hasNext())
                {
                    String arrayListItemKey = reader.readString();
                    String arrayListItemValue = reader.readObject().toString();
                    System.out.print("key " + arrayListItemKey);
                    System.out.println(":value " + arrayListItemValue);
                }
                reader.endObject();
                System.out.println("end arraylist item");
            }
            reader.endArray();
            System.out.println("end " + key);
        }
        else if (key.equals("object"))
        {
            reader.startObject();
            System.out.println("start object item");
            while (reader.hasNext())
            {
                String objectKey = reader.readString();
                String objectValue = reader.readObject().toString();
                System.out.print("key " + objectKey);
                System.out.println(":value " + objectValue);
            }
            reader.endObject();
            System.out.println("end object item");
        }
        else if (key.equals("string"))
        {
            System.out.println("start string");
            String value = reader.readObject().toString();
            System.out.println("value " + value);
            System.out.println("end string");
        }
    }
    reader.endObject();
    System.out.println("start fastjson");
}
原文链接:https://www.f2er.com/json/288759.html

猜你在找的Json相关文章