Java 类型字符串的值不能转换为JsonObject?
当我试图将Java 类型字符串的值不能转换为JsonObject?,java,android,json,Java,Android,Json,当我试图将jsonobject解析为string时,如果用户输入正确的登录名,他们将从服务器得到jsonobject响应。我正在使用截击功能制作简单的登录应用程序。我获取的字符串类型值无法转换为jsonobject如何将jsonobject转换为string myjson回应如下: {"loginResult":"EmployeeCode: 4112 ModuleID:1 ModuleName:XXX UserID:762"} 到目前为止,试图解析此json对象的是: String resp
jsonobject
解析为string时,如果用户输入正确的登录名,他们将从服务器得到jsonobject
响应。我正在使用截击功能制作简单的登录应用程序。我获取的字符串类型值无法转换为jsonobject
如何将jsonobject
转换为string myjson
回应如下:
{"loginResult":"EmployeeCode: 4112 ModuleID:1 ModuleName:XXX UserID:762"}
到目前为止,试图解析此json对象的是:
String resp=response.toString();
try {
JSONObject yog=new JSONObject(resp);
String yogs=yog.getString("loginResult");
String yogan=yog.getString("EmployeeCode");
} catch (JSONException e) {
e.printStackTrace();
}
作为一个初学者,我真的很困惑如何将这个jsonobject解析成字符串,有人能告诉我如何解析这个jsonobject吗 您的JSON:
{
“登录结果”:“员工代码:4112模块ID:1模块名称:XXX用户ID:762”
}
因此,从这个JSON,您只能在loginResult
上jsonObject.getString()
,这个字符串的值是=
EmployeeCode:4112模块ID:1模块名称:XXX用户ID:762
所以删除String yogan=yog.getString(“EmployeeCode”)代码>来自您的代码。您的JSON:
{
“登录结果”:“员工代码:4112模块ID:1模块名称:XXX用户ID:762”
}
因此,从这个JSON,您只能在loginResult
上jsonObject.getString()
,这个字符串的值是=
EmployeeCode:4112模块ID:1模块名称:XXX用户ID:762
所以删除String yogan=yog.getString(“EmployeeCode”)代码>。json响应中有错误。理想情况下,这应该是您的json
{"loginResult":{"EmployeeCode":4400,"ModuleID":1,"ModuleName":"XXX","UserID":1213}}
请尝试以下操作
JSONObject result=resp.getJSONObject("loginResult");
String empcode=result.getString("EmployeeCode");
您的json响应中有错误。理想情况下,这应该是您的json
{"loginResult":{"EmployeeCode":4400,"ModuleID":1,"ModuleName":"XXX","UserID":1213}}
请尝试以下操作
JSONObject result=resp.getJSONObject("loginResult");
String empcode=result.getString("EmployeeCode");
我想JSON是不合适的。登录结果中的元素之间没有区别。那么如何解析它不是正确的JSON。在后端,您需要正确设置响应的格式,否则将无法对其进行分析。{“loginResult”:“{\“UserLoginID\”:864、\“UserID\”:864、\“EmployeeCode\”:\“PI4264\”,\"密码\“:\“IsPasswordChanged\”:false、\“ModuleName\”:“XXX\”、\“Modu”leID\“:1,\“EmployeeName\”:\“XXX\”}你能告诉我如何解析这个吗?我猜JSON不正确。登录结果中的元素之间没有区别。那么如何解析这个呢?它不是正确的JSON。在后端,你需要正确格式化响应,否则它将不会被解析。{“loginResult”:“{”UserLoginID\”:864,\“UserID\”:864,“员工代码”:“PI4264\”,\“Password\”:“IsPasswordChanged\”:false,“ModuleName\”:“XXX\”,“Modu”leID\“:1,\“EmployeeName\”:\“XXX\”}你能告诉我如何解析它吗?我需要在employeecode、modulename、UserId中将它作为单独的字符串来获取。在这种情况下,你没有有效的JSON,但是,你仍然可以使用string.split()
,但尝试以这种格式获取JSON响应{“loginResult”:{“employeecode”“:4112,“ModuleID”:1,“ModuleName”:“XXX”,“UserID”:762}
现在你能告诉我如何将这个json解析为字符串{“loginResult”:“UserID:762”}如果你的响应是字符串,试试{JSONObject JSONObject=newJSonObject(response\u string);string UserID=JSONObject.getString(“UserID”);}
{loginResult:{“userloginResult”:“{“UserLoginID\”:864,\”用户标识\“:864,\“员工代码\:\“PI4264\”,\"密码\“:\“IsPasswordChanged\”:false、\“ModuleName\”:“XXX\”、\“Modu”leID\“:1,\“EmployeeName\”:\“XXX\”}你能告诉我如何解析它吗?我需要在employeecode、modulename、UserId中将它作为单独的字符串来获取。在这种情况下,你没有有效的JSON,但是,你仍然可以使用string.split()
,但尝试以这种格式获取JSON响应{“loginResult”:{“employeecode”“:4112,“ModuleID”:1,“ModuleName”:“XXX”,“UserID”:762}
现在你能告诉我如何将这个json解析为字符串{“loginResult”:“UserID:762”}如果你的响应是字符串,试试{JSONObject JSONObject=newJSonObject(response\u string);string UserID=JSONObject.getString(“UserID”);}
{loginResult:{“userloginResult”:“{“UserLoginID\”:864,\”用户标识\“:864,\“员工代码\:\“PI4264\”,\"密码\“:\“IsPasswordChanged\”:false、\“ModuleName\”:“XXX\”、\“Modu”leID\“:1,\“EmployeeName\”:\“XXX\”}你能告诉我如何解析这个{“登录结果”:“{”UserLoginID\”:864,\“UserID\”:864,\“EmployeeCode\”:“PI4264\”,“Password\”:“IsPasswordChanged\”:false,\“ModuleName\”:“XXX\”,“ModuleID\”:1,\“EmployeeName\:“XXX\”你能告诉我如何解析这个吗?一旦你的json以预期的格式准备好,我已经编写了解析的逻辑。你需要在服务器响应中进行更正,然后从移动端尝试。当我尝试获取userid时,有很多反斜杠。它不会为userid抛出任何值。这是你应该从服务器获得的响应。请确保你这是:{“loginResult”:{“EmployeeCode”:4400,“ModuleID”:1,“ModuleName”:“XXX”,“UserID”:1213}。如果没有这一点,您将得到错误。您应该得到我在回答中提到的响应。否则这是一个错误。将其用于验证{“UserLoginResult”:“{“UserLoginID\”:864,\“UserID\”:864,\“EmployeeCode\:“PI4264\,“Password\:“1985;ä”\“IsPasswordChanged\”:false、\“ModuleName\”:\“XXX\”、\“ModuleID\”:1、\“EmployeeName\”:“XXX\”}}你能告诉我如何解析这个吗?一旦你的json以预期的格式准备好,我已经编写了要解析的逻辑。您需要在服务器响应中进行更正,然后从移动端尝试。当我尝试获取userid时,有很多反斜杠,它不会为userid抛出任何值。这是您应该从服务器获得的响应。确保您得到以下信息:{“loginResult”:{“EmployeeCode”:4400,“ModuleID”:1,“ModuleName”:“XXX”,“UserID”:1213}}。如果没有这个,你会得到错误。你应该得到我在回答中提到的答案。否则就是一个错误。使用此项进行验证