使用JAVA从单个JSON文件解析多个对象

时间:2016-07-07 11:16:55

标签: java json parsing

我有以下json文件,我试图从中提取数据并将其存储到数据库中。

    *//FirstBlockStart*        
    { 
            "_id": {
                "$oid": "572395d8b1bf87f39645b94e"
            },
            "ReferenceDate": {
                "$date": 1461949267500
            },
            "Url": "http://goTechhy.com",
            "PublicationDate": {
                "$date": 1461553200000
            },
            "LastUpdateDate": {
                "$date": 1461553200000
            },

        }
//FirstBlockEnd
//SecondBlockStart
        {
            "_id": {
                "$oid": "572394d8b1bf87f39645b94e"
            },
            "ReferenceDate": {
                "$date": 1461969267500
            },
            "Url": "http://goTechhy.com",
            "PublicationDate": {
                "$date": 1461553200000
            },
            "LastUpdateDate": {
                "$date": 1461353200000
            },

        }
//SecondBlockEnd

我需要从JSON中提取Oid, ReferenceData, PublicationData, LastUpdateDate

这是我尝试过的。

public static void main(String[] args) {
    JSONParser parser = new JSONParser();

    try {
        JSONObject Obj = (JSONObject) parser.parse(new InputStreamReader(new FileInputStream("E:\\Json2Db\\PlayStore1.json")));
        //JSONObject Obj = (JSONObject) parser.parse(new FileReader("E:\\Json2Db\\PlayStore1.json"));


        getAppID(Obj);

        System.out.println(getAppID(Obj));

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

private static String getAppID(JSONObject obj) {
    JSONObject appIDObj = (JSONObject) obj.get("_id");
    String appID = (String) appIDObj.get("$oid");
    return appID;
}

当我尝试执行此代码时,出现以下错误。

Unexpected token LEFT BRACE({) at position 4644.
    at org.json.simple.parser.JSONParser.parse(JSONParser.java:146)
    at org.json.simple.parser.JSONParser.parse(JSONParser.java:92)
    at com.freelancer.kaja.JsonParse.main(JsonParse.java:18)

但与此同时,当JSON中只有一个Block(比如FirstBlock)时,它运行正常..我是这个JSON的新手......我不知道我在这里缺少什么..请给出你的建议

我希望输出是这样的。

oid: 572395d8b1bf87f39645b94e
ReferenceDate:1461949267500
Url:http://goTechhy.com
PublicationDate:1461553200000
LastUpdateDate: 1461553200000

oid: 572395d8b1bf87f39645b94e
ReferenceDate:1461949267500
Url:http://goTechhy.com
PublicationDate:1461553200000
LastUpdateDate: 1461553200000

0 个答案:

没有答案