在习惯了 php
将json字符串一次性解析为object或array后,总是期待java也能够如此智能的解析json字符串。然而现实是,java解析json,总是需要一层一层解析,去剥开他们的面纱。
在java中,第一次解析完json字符串后,每一层json数据都是JSONObject
,因此在使用中,每一层都需要转换成JSONObject
才可以获取正确的值。
代码如下:
String jsonStr = "{\"9\":{\"host\":120,\"sum\":100}}";
JSONObject dayObj = (JSONObject) JSONValue.parse(uid_vhost);//print {"9":{"host":120,"sum":100}}
JSONObject value = (JSONObject) dayObj.get("9");// print {"host":120,"sum":100}
if (value != null) {
System.out.println(value.get("sum"));// print 100
}
同样的坑,踩了两三次,特记录,备忘!