如何将JSON对象值设置为0位置?

时间:2014-05-19 06:56:39

标签: java json

我有一个像

这样的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位的价值。

请帮帮我。感谢

3 个答案:

答案 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)

获取键的迭代器并为第一个值

调用getString
JSONObject 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确实是你认为的。