【发布时间】:2019-10-09 08:22:31
【问题描述】:
我是 Java 新手,我正在使用 Eclipse 中的 Servlet 创建一个 Web 应用程序。 我想使用此代码将字符串转换为 JSON:
import org.json.JSONException;
import org.json.JSONObject;
JSONObject jsonObject = null;
jsonObject = new JSONObject(STRING);
System.out.println(jsonObject.getString("PROPERTY_NAME"));
如果STRING 等于"{'status':0}" 并且jsonObject.getString("status") 给我0,它工作正常。
但我收到来自 API 的响应,例如 "{"status":0}" 和 jsonObject.getString("status") 给了我错误,因为 jsonObject 是:
{}
错误是:
org.json.JSONException: JSONObject["status"] 未找到。
你有什么解决办法吗?
【问题讨论】:
-
您使用的是哪个库?您给出的那个例子 - {"status":0} - 是一个有效的 JSON 字符串。
-
我正在使用
org.json.JSONException和org.json.JSONObject -
这个库被很多人使用并且可以完成这项工作。 (有一个
jsonObject.has(<keyname>))检查你是否想安全地检查它的密钥。看看“STRING”是否真的是你传递的那个字符串。 -
其实我的回复太长了,状态只是其中的一部分。我不知道,但响应结构可能存在问题。
-
嗯,有在线 JSON 字符串验证器。也许您可以使用其中之一来查看它是否有效。但如果字符串不是有效的 JSON 字符串,该库会抛出 JSONException。最好调试一下。你说使用
jsonObject.getString("status")会出错。你能发帖吗?您的status可能只是在结构中的另一个位置。
标签: java json string api response