Java 如何知道JSON字符串是否可以无错误地转换为JSONObject?
如何处理此问题,使其不会出现以下错误Java 如何知道JSON字符串是否可以无错误地转换为JSONObject?,java,android,json,Java,Android,Json,如何处理此问题,使其不会出现以下错误 JSONObject dataObject = new JSONObject(data); String currentDynamicKey = "7"; JSONObject currentDynamicValue = dataObject.getJSONObject(currentDynamicKey); 错误: org.json.JSONException: Value at 7 of type java.lang.String cannot be
JSONObject dataObject = new JSONObject(data);
String currentDynamicKey = "7";
JSONObject currentDynamicValue = dataObject.getJSONObject(currentDynamicKey);
错误:
org.json.JSONException: Value at 7 of type java.lang.String cannot be converted to JSONObject
json数据:
{"2":{"id":2,"title":"Battleship game","enabled":"1","connection_alert":"1","prot":"2","port":"6410","analysis":"1","send_data":"Analysis Data box","regex":"\/HTTP\/1.1 404 Not Found\/","send_on":false,"analysis_alert_title":"404","analysis_alert_body":"not found","analysis_alert_body_false":"found"},"7":""}
正如你在结尾看到的,7是空的。如何检查它是否为空?只需使用
optJSONObject(字符串名称)
而不是getJSONObject(字符串名称)
:
返回按名称映射的值(如果该值存在并且是JSONObject)。否则返回null。
然后检查返回值。您使用的是哪个json解析器?有几十个,它们都有一个JSONObject或JSONObject类。这是一个Android应用程序