gson 有没有办法在Java中反序列化非标准JSON

u2nhd7ah  于 2022-11-06  发布在  Java
关注(0)|答案(1)|浏览(140)
{
"id":1,
"city":"cityname",
"address":"{"name":"addressName"}"
}

例如,地址字段的值缺少转义符,是否有方法将其反序列化为字符串

mrzz3bfm

mrzz3bfm1#

是和否。

  • 是的:
  • 如果有一个可靠的模式来检测错误,你可以 * 潜在地 * 编写一些Java代码来插入丢失的转义符,然后用一个常规的JSON解析器解析正确的JSON。
  • 甚至可以编写一个自定义的JSON解析器,将"{"序列视为"{\",以此类推,或者修改现有的解析器来实现这一点。
  • 当然,主流的JSON解析器都不支持任意的非标准(例如,不完整的)JSON变体。

一个更好的办法是修复产生JSON的任何东西。或者向希望您支持这种垃圾的客户收取大量金钱,因为他们的数据不符合约定的要求。(假设约定的要求是JSON。)

相关问题