如何在android中解析带有未知键的json
您好,我正在使用改型从服务器发送和接收数据。如何解析密钥是否不同 有谁能帮我用下面的键解析json吗如何在android中解析带有未知键的json,android,json,Android,Json,您好,我正在使用改型从服务器发送和接收数据。如何解析密钥是否不同 有谁能帮我用下面的键解析json吗 {"users": {"19x1": "Admin","19x5": "Manager"}} 您的json结构不正确。基本上,您有一个用户数组,但返回的对象有两个字段19x1和19x2 无法使用改装和Gson解析动态键响应。唯一的方法是在Android中使用普通的Json解析。但是您需要知道列表中的数据在哪里,这样您就可以执行类似的操作 jsonArray.getObject(索引) 如果要获
{"users": {"19x1": "Admin","19x5": "Manager"}}
您的
json
结构不正确。基本上,您有一个用户数组,但返回的对象有两个字段19x1
和19x2
无法使用改装
和Gson
解析动态键
响应。唯一的方法是在Android中使用普通的Json
解析。但是您需要知道列表中的数据在哪里,这样您就可以执行类似的操作
jsonArray.getObject(索引)
如果要获取对象列表,请将json
更改为此结构
"users": [
{
"role_id": "19x1",
"description": "Admin"
},
{
"role_id": "19x5",
"description": "Manager"
}
]
键不是问题,用户应该是一个对象
{
"users": {
"19x1": "Admin",
"19x5": "Manager"
}
}
在任何json验证器中尝试上述代码以进行检查。。即
已更新以访问值:
如何访问嵌套的JSON对象
var myObj={
“用户”:{
“19x1”:“管理员”,
“19x5”:“经理”
}
}
document.getElementById(“demo”).innerHTML+=myObj.users[“19x1”];
您提供的json不正确。应该是这样的:
{"users": {"19x1": "Admin","19x5": "Manager"}}
您可以在此处检查json对象的准确性:根据您的更改,这是有效的json。。在json验证器上检查它。如何解析这个json?你是说如何访问这些值?@norcaljohnny你的实现很好,但是OP正在尝试使用
Gson
库解析动态json键。这是不可能的。@AouledIssa没有对OP的不尊重,但是这个问题已经被重新编辑了大约5次,每次都添加了一点信息。在文章的前面,它似乎是一个无效的json疏忽,因此其他的答案是。但是谢谢你的评论:)如何解析请告诉我你想解析用户列表吗?我需要知道,因为如果是这样的话,那么您的json可能是不正确的用户列表,将它们稀疏到dictionary@TommySadiqHinrichsen你能给我详细解释一下吗?这能回答你的问题吗?如果我的回复包含500条记录,则为0。对象的JSON
包含的迭代次数并不重要,重要的是您是否可以使用GSON
来解析它的对象类。这不是正确的!!格森不是以这种方式工作的。您需要知道解析模型才能进行解析。否则,您只需使用纯java json解析来使用纯java进行解析