如何解决如何在不知道json键的情况下使用JsonReader从json读取值
我正在尝试使用TypedArray解析json。
我的json将是以下内容:
{
"id":"112233","tag":"From server","users":{
"vijay":1,"dhas":2,"vijaydhas":3
}
}
在这里users对象中的键是动态的。我将在运行时从服务器收到。那时只有我不知道密钥(vijay,dhas,vijaydhas)。
@Override
public MagazineReader read (JsonReader in) throws IOException {
final MagazineReader magazineReader = new MagazineReader();
in.beginobject();
while (in.hasNext()) {
switch (in.nextName()) {
case "id":
magazineReader.setID(in.nextInt());
break;
case "tag":
magazineReader.setTag(in.nextString());
break;
in.beginArray();
/*
For User how to read the json???
*/
}
in.endobject();
}
现在,我想在不知道键的情况下读取并解析用户JsonArray及其对象。我知道如何在不知道密钥的情况下解析JSONObject。
JSONObject users= obj.getJSONObject("users");
Iterator iteratorObj = detailList.keys();
while (iteratorObj.hasNext())
{
String jsonKey = (String)iteratorObj.next();
property.put(jsonKey,usersList.get(jsonKey));
}
但是在JsonReader中,我不知道如何在不知道密钥的情况下读取json值。请帮我。 [1]:https://javacreed.com/gson-typeadapter-example
解决方法
您可以执行以下操作:
Map
我已经使用users
来存储键值对,您可以使用任何类型的对象来实现。另外,我只添加了数字和字符串值的处理程序。
重要的部分是,在进入mkdir test; ls | cd
键时开始一个新对象,然后遍历该对象的所有属性。处理对象条目的方式取决于您要执行的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。