【问题标题】:How do I access a JSON object that begins with NULL using gson?如何使用 gson 访问以 NULL 开头的 JSON 对象?
【发布时间】:2021-05-04 03:05:49
【问题描述】:

我正在尝试通过使用 gson 将其解析为字符串来访问 Web API。网址返回:

NULL { "status": "yes", "problem": "400072500002031600000009007000150400000396010090000003003015002065000000000703000", "result": "489672531752831649316549827238157496547396218691284753873415962165928374924763185", "time": "0.0472550392151" }

上面的 json 元素以 NULL 开头,这导致我无法访问它的对象。我想将“结果”对象中的数字作为字符串获取。 请仅使用 Gson 解析 JSON 对象。 任何帮助将不胜感激!

【问题讨论】:

    标签: java json gson


    【解决方案1】:

    这(带有 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;
    

    【讨论】:

    • 你能帮我弄清楚如何删除 NULL 部分并解析它以从 JSON 中获取“结果”吗?我一直在努力做到这一点,但一直未能做到。谢谢!
    猜你喜欢
    • 2011-03-15
    • 1970-01-01
    • 2017-12-08
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多