java - 无法使用 JSON 解析 Json String 来获取键值

标签 java

我有一个像这样的 json 响应字符串

string result ={"username": "sdrG", "size": 965204,  "filename": "test.doc"}

从中尝试获取尺寸值

为此,我使用 JSON 对象转换 JSON 字符串获取键值

JSONObject jObject  = new JSONObject(result); // json
String size = (String) jObject.get("size");
System.out.println(size);

但是他的代码对我不起作用

org.json.JSONException: JSONObject["size"] not found.   

最佳答案

经过一些修改,你的代码对我有用:-

public static void main(String[] args) throws DatatypeConfigurationException {
    String result ="{\"username\": \"sdrG\", \"size\": 965204,  \"filename\": \"test.doc\"}";
     JSONObject jObject  = new JSONObject(result); // json
        String size = String.valueOf((Integer) jObject.get("size"));
        System.out.println(size);
}

使用过:-

<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>

如果你的 Json 存储在 StringBuffer 中,你可以这样做:-

JSONObject jObject  = new JSONObject(result.toString());

关于java - 无法使用 JSON 解析 Json String 来获取键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31869427/

相关文章:

java - 返回到 Struts 2 中输入结果的当前页面

java - 像 google inbox 一样将 java 翻译成 javascript

java - android 进度条无法正确更新进度(onPostExecute() 运行较晚)

java - 如何在CXF Client中使用PATCH方法

java - java中的opengl加速问题

java - Smack API 和 Java

java - 使用不可序列化的对象序列化 hashmap

java - 实例化缓冲编写器的差异

java - 如何在 Java 中的对象上强制调用父类(super class)实现 Object.toString() 而不是子类重写实现

java - Hudson 作业在 Runtime.exec 处挂起