解析JsonObject时发生java错误
我正在为java做一个json解析器。我将json作为字符串接收,然后尝试获取所有键的值 这是我的Json字符串解析JsonObject时发生java错误,java,json,Java,Json,我正在为java做一个json解析器。我将json作为字符串接收,然后尝试获取所有键的值 这是我的Json字符串 { "Message":{"field": [ {"bit":2,"name":"AAA"}, {"bit":3,"name":"BBB"}]}} 这是我的解析器: JSONObject jObject = new JSONObject(result); //result contains the json
{ "Message":{"field": [ {"bit":2,"name":"AAA"}, {"bit":3,"name":"BBB"}]}}
这是我的解析器:
JSONObject jObject = new JSONObject(result); //result contains the json
JSONArray info = jObject.getJSONArray("field");
for (int i = 0 ; i < info.length(); i++) {
JSONObject obj = info.getJSONObject(i);
Iterator<String> keys = obj.keys();
while (keys.hasNext()) { //I use key - value cause the json can change
String key = keys.next();
System.out.println("Key: " + key + "\tValue: " + obj.get(key));
}
}
我猜这个领域是一个JsonArray。。。我错了吗
感谢您抽出时间您太深了一层,无法从您的
作业对象
获取字段
。
您需要执行以下操作:
JSONObject jObject = new JSONObject(result);
JSONObject jMsg = jObject.getJSONObject("Message");
JSONArray info = jMsg.getJSONArray("field");
您需要从您的
jObject
获取字段
,这一级别太深了。
您需要执行以下操作:
JSONObject jObject = new JSONObject(result);
JSONObject jMsg = jObject.getJSONObject("Message");
JSONArray info = jMsg.getJSONArray("field");
您需要从
jsonobject
获取获取JSONArray
字段
消息
String result = "{ \"Message\":{\"field\": [ {\"bit\":2,\"name\":\"AAA\"}, {\"bit\":3,\"name\":\"BBB\"}]}}";
JSONObject jObject = new JSONObject(result).getJSONObject("Message"); //result contains the json
JSONArray info = jObject.getJSONArray("field");
for (int i = 0 ; i < info.length(); i++) {
JSONObject obj = info.getJSONObject(i);
Iterator<String> keys = obj.keys();
while (keys.hasNext()) { //I use key - value cause the json can change
String key = keys.next();
System.out.println("Key: " + key + "\tValue: " + obj.get(key));
}
}
您需要从
jsonobject
获取获取JSONArray
字段
消息
String result = "{ \"Message\":{\"field\": [ {\"bit\":2,\"name\":\"AAA\"}, {\"bit\":3,\"name\":\"BBB\"}]}}";
JSONObject jObject = new JSONObject(result).getJSONObject("Message"); //result contains the json
JSONArray info = jObject.getJSONArray("field");
for (int i = 0 ; i < info.length(); i++) {
JSONObject obj = info.getJSONObject(i);
Iterator<String> keys = obj.keys();
while (keys.hasNext()) { //I use key - value cause the json can change
String key = keys.next();
System.out.println("Key: " + key + "\tValue: " + obj.get(key));
}
}
试试这个:
String result = "{ \"Message\":{\"field\": [ {\"bit\":2,\"name\":\"AAA\"}, {\"bit\":3,\"name\":\"BBB\"}]}}";
JSONObject jObject = new JSONObject(result); //result contains the json
JSONArray info = jObject.getJSONObject("Message").getJSONArray("field");
for (int i = 0 ; i < info.length(); i++) {
JSONObject obj = info.getJSONObject(i);
Iterator<String> keys = obj.keys();
while (keys.hasNext()) { //I use key - value cause the json can change
String key = keys.next();
System.out.println("Key: " + key + "\tValue: " + obj.get(key));
}
}
String result=“{\'Message\':{\'field\':[{\'bit\':2,\'name\':\'AAA\',{\'bit\':3,\'name\':\'BBB\'}}”;
JSONObject jObject=新JSONObject(结果)//结果包含json
JSONArray info=jObject.getJSONObject(“消息”).getJSONArray(“字段”);
对于(int i=0;i
试试这个:
String result = "{ \"Message\":{\"field\": [ {\"bit\":2,\"name\":\"AAA\"}, {\"bit\":3,\"name\":\"BBB\"}]}}";
JSONObject jObject = new JSONObject(result); //result contains the json
JSONArray info = jObject.getJSONObject("Message").getJSONArray("field");
for (int i = 0 ; i < info.length(); i++) {
JSONObject obj = info.getJSONObject(i);
Iterator<String> keys = obj.keys();
while (keys.hasNext()) { //I use key - value cause the json can change
String key = keys.next();
System.out.println("Key: " + key + "\tValue: " + obj.get(key));
}
}
String result=“{\'Message\':{\'field\':[{\'bit\':2,\'name\':\'AAA\',{\'bit\':3,\'name\':\'BBB\'}}”;
JSONObject jObject=新JSONObject(结果)//结果包含json
JSONArray info=jObject.getJSONObject(“消息”).getJSONArray(“字段”);
对于(int i=0;i