我有一个像
这样的json对象{" 0":" Andrew Smith"}
我如何获得价值意味着 Andrew Smith 。我尝试了很多,但没有得到。他们的关键名称将得到改变。我试过这种方式
JsonObject jObject = new JsonObject(currentObj);
System.out.println(currentObj.toString());
Iterator i = jObject.keys();
String value = "";
while(i.hasNext()) {
String currentKey = String.valueOf(i.next());
Object currentValue = jObject.get(currentKey);
}
它不会进入循环。那么我怎样才能获得第0位的价值。
请帮帮我。感谢
答案 0 :(得分:0)
尝试使用Gson:
Map<Integer, String> map = new Gson().fromJson("{\"0\":\"Andrew Smith\"}", new TypeToken<Map<Integer, String>>(){}.getType());
System.out.println(map.entrySet().iterator().next().getValue());
打印'安德鲁史密斯'。
答案 1 :(得分:0)
获取键的迭代器并为第一个值
调用getStringJSONObject obj = new JSONObject("{\"0\":\"Andrew Smith\"}");
Iterator<String> x = obj.keys();
if(x.hasNext())
Log.e("FACEBOOK", obj.getString(x.next()));
答案 2 :(得分:0)
如果您只修复所有编译器错误,您的代码就可以运行。
即
它是JSONObject
,而不是JsonObject
。
currentObj
不在范围内。我想你是从它所在的地方剪掉的
但用字符串文字替换它将使其他人更容易
测试以及消除一个可能的错误来源。
修复这些问题,将其置于方法中并声明异常使其正常工作 精细。假设您开始使用的任何代码实际编译我建议检查 所讨论的JSONObject确实是你认为的。