在java中读取json字符串

时间:2013-10-15 20:12:41

标签: java json

我有以下json格式的字符串:

String s = "{ \"_id\" : \"foo.com\", \"categories\" : [], \"ho\" : { \"bnMzMC5==\" : { \"first\" : 1281916800, \"last\" : 1316995200 }, \"bnMyOS5kb21==\" : { \"first\" : 1281916800, \"last\" : 1316995200 } }, \"name\" : [ \"ns.foo.com\", \"ns.bar.com\" ], \"reputation\" : null }"; 


        JSONParser parser = new JSONParser();
        JSONObject json = (JSONObject) parser.parse(s);
        String output = "";
        for (Object rkey : json.keySet()) {
            Object val = json.get(rkey);
            output += rkey.toString() + "\t" + val.toString() +"\t";
            System.out.println(rkey + " "+ val.toString());

        }

但我得到了这个例外:

Exception in thread "main" java.lang.NullPointerException
    at org.random_scripts.JsonRead.main(JsonRead.java:25)

我缺少什么

1 个答案:

答案 0 :(得分:1)

这是因为您的上一个json字段:\"reputation\" : null

((Object) json.get("reputation" )).toString();会导致NullPointerException尝试使用toString()对象调用null