![](/img/trans.png)
[英]Can't parse JSON string to Java/JavaScriptObject in GWT
[英]Can't parse Java JSON string
从我的服务器获取这样的JSON响应:
String json = getJsonFromServer();
服务器返回此答复(在开头和结尾加上双引号):
"{\"error\":\"Not all required fields have been filled out\"}";
然后,我想获取错误字段。 我尝试使用JSONObject类获取字符串,但是它不起作用。
System.out.println("The error is: " + new JSONObject().getJSONObject(response).getString("error");
您似乎使用了错误的JSONObject
构造函数; 在您的示例中,您尝试从新创建的对象中获取一个对象-它永远不会存在。
尝试这个:
String response = "{\"error\":\"Not all required fields have been filled out\"}";
JSONObject json = new JSONObject( response );
String error = json.getString( "error" );
System.out.println( error );
产量
并非所有必填字段都已填写
编辑
现在您已经完全改变了问题...
为什么不先剥离第一个和最后一个字符?
因此,如果
String response = "\"{\"error\":\"Not all required fields have been filled out\"}\"";
response = response.substring(1, response.length() - 1));
// Now convert to JSONObject
您的响应对象具有此字符串吗?
{“错误”:“未填写所有必填字段”}
下面的代码显示了预期的输出:
Object responseObject = "{\"error\":\"Not all required fields have been filled out\"}";
JSONObject jsonObject = new JSONObject(responseObject.toString());
String errorContent = jsonObject.getString("error");
System.out.println(errorContent);
我尝试了
String response = "{\"error\":\"Not all required fields have been filled out\"}";
JSONParser parser = new JSONParser();
try {
JSONObject json = (JSONObject) parser.parse(response);
System.out.println(json.get("error").toString());
} catch (ParseException ex) {
}
它可以正常工作,您可以尝试一下,别忘了添加json lib json-simple
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.