【问题标题】:What is a good way to convert a valid or invalid JSON to a string?将有效或无效 JSON 转换为字符串的好方法是什么?
【发布时间】:2017-07-12 22:37:09
【问题描述】:

我有一个服务可以获取 JSON 输入,但偶尔也会获取无效的 JSON 内容。我无法控制这种行为。输入可以是

{"key":{"k1":"v1"},"key2":"value2"}

{"key":{"k1":"v1"},"Random String"}

我的想法是将整个事情包装成一个有效的 JSON,如下所示

{"id":"some id", "raw_data":"the above input as string"}

我知道我可以转义所有引号并将其视为字符串,但有没有更简洁的方法将 JSON 转换为转义字符串?

FWIW,我正在使用 Jackson 进行解析和处理。

编辑:JSON 架构预先并不清楚,并且可能因不同的输入而异。

【问题讨论】:

    标签: java json jackson escaping


    【解决方案1】:

    我知道我可以转义所有引号并将其视为字符串,但有没有更简洁的方法将 JSON 转换为转义字符串?

    只需使用raw_data 属性创建一个类,使用您收到的 JSON(正确或错误)设置此属性,然后让 Jackson 序列化它(并注意使其成为正确的 JSON)。

    【讨论】:

    • raw_data 中的数据未使用定义的架构。我更新了问题以反映这一点。
    • @VaishakSuresh 我不明白它如何改变任何东西。无论您从客户端获得什么 - 有效或无效 - 将其作为字符串放入“raw_data”中。杰克逊会做剩下的事情。
    猜你喜欢
    • 2021-10-24
    • 2020-10-24
    • 1970-01-01
    • 2023-03-22
    • 2020-01-15
    • 2018-08-29
    • 1970-01-01
    • 2018-06-05
    • 2021-12-25
    相关资源
    最近更新 更多