利用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");
}

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...