如何从java中的这个json字符串中获取值?

时间:2014-03-27 06:07:23

标签: java json parsing

我有以下json字符串作为输出,

{"message":"Error while updating","success":false}

我试图通过使用

来获取json对象
String resp = "{"message":"Error while updating",
                   "success":false}";
JSONObject jObject  = new JSONObject(resp);
log.info("jObject-success: "+ jObject.getString("success").toString());

以上一行推动了成功"在响应错误中找不到。我在这里失踪了什么?

4 个答案:

答案 0 :(得分:3)

您正在编写JSON字符串错误。使用转义字符。

<强>实施例

String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";

代码

String resp = "{\"message\":\"Error while updating\",\"success\":false}";

答案 1 :(得分:0)

让我们创建一个代表你的JSON输入的类

public class Response {
    public String  message;
    public boolean success;
}

并使用Google的gson库进行如下解析

Gson gson = new Gson();
Response response = gson.fromJson(resp, Response.class);
System.out.println("Success: " + response.success);

答案 2 :(得分:0)

假设您正确定义resp并编译代码。

我也假设你正在使用org.json.JSONObject

您需要使用jObject.getBoolean("success").toString()。我记得如果字段不是字符串类型,JSONObject中的getString()将抛出异常。

答案 3 :(得分:0)

String resp = string output;

JSONObject object = new JSONObject(resp);

的System.out.println(object.get(&#34;消息&#34));

的System.out.println(object.get(&#34;成功&#34));