如何使用 gson 访问以 NULL 开头的 JSON 对象?
How do I access a JSON object that begins with NULL using gson?
我正在尝试通过使用 gson 将其解析为字符串来访问 Web API。 URL returns :
NULL { "status": "yes", "problem": "400072500002031600000009007000150400000396010090000003003015002065000000000703000", "result": "489672531752831649316549827238157496547396218691284753873415962165928374924763185", "time": "0.0472550392151" }
上面的 json 元素以 NULL 开头,这是导致我访问其对象时出现问题的原因。我想将“结果”对象中的数字作为字符串获取。 请仅使用 Gson 解析 JSON 个对象。
如有任何帮助,我们将不胜感激!
这(带有 NULL)不是有效的 JSON。如果需要,可以使用任何在线验证器来证明。
如果经常发生这种情况,请尝试联系 API 提供商,或者在解析之前一开始就删除此 null。
编辑:
如果您可以在传递给 Gson 反序列化器之前处理原始答案,您可能可以这样做:
String originalJson = "NULL { \"status\": \"yes\", \"problem\": "
+ "\"400072500002031600000009007000150400000396010090000003003015002065000000000703000\", "
+ "\"result\": \"489672531752831649316549827238157496547396218691284753873415962165928374924763185\", "
+ "\"time\": \"0.0472550392151\" }";
String json = originalJson.startsWith("NULL ") ? originalJson.replaceFirst("NULL ", "") : originalJson;
我正在尝试通过使用 gson 将其解析为字符串来访问 Web API。 URL returns :
NULL { "status": "yes", "problem": "400072500002031600000009007000150400000396010090000003003015002065000000000703000", "result": "489672531752831649316549827238157496547396218691284753873415962165928374924763185", "time": "0.0472550392151" }
上面的 json 元素以 NULL 开头,这是导致我访问其对象时出现问题的原因。我想将“结果”对象中的数字作为字符串获取。 请仅使用 Gson 解析 JSON 个对象。 如有任何帮助,我们将不胜感激!
这(带有 NULL)不是有效的 JSON。如果需要,可以使用任何在线验证器来证明。
如果经常发生这种情况,请尝试联系 API 提供商,或者在解析之前一开始就删除此 null。
编辑:
如果您可以在传递给 Gson 反序列化器之前处理原始答案,您可能可以这样做:
String originalJson = "NULL { \"status\": \"yes\", \"problem\": "
+ "\"400072500002031600000009007000150400000396010090000003003015002065000000000703000\", "
+ "\"result\": \"489672531752831649316549827238157496547396218691284753873415962165928374924763185\", "
+ "\"time\": \"0.0472550392151\" }";
String json = originalJson.startsWith("NULL ") ? originalJson.replaceFirst("NULL ", "") : originalJson;