【问题标题】:Split string contining two jsons into two jsons in Java在Java中将包含两个json的字符串拆分为两个json
【发布时间】:2021-04-14 05:02:00
【问题描述】:

我从 String 获取两个 json 时遇到问题: {"doc":{"sheet":{"english":{"link":"http://localhost?id=123&format=pdf"}}}}{"doc":{"term":{"english":{"link":"http://localhost?id=12&format=pdf"}}}}

我尝试使用 simple-json,但它无法处理两个 json,并说 {{{{ 是非法的。我也在考虑将它(但通过什么)以某种方式拆分为两个字符串,然后创建 json。任何想法如何解决它?

【问题讨论】:

  • 尝试使用 JSONArray,这里是一个例子:stackoverflow.com/a/33754239/10802597
  • 这首先是怎么发生的?你不能解决这个问题的根源而不是解决它吗?
  • @luk2302 不行,我就是这样,改不了

标签: java json string


【解决方案1】:

只要"}{" 没有出现在任何字段值本身中,您就可以精确地拆分为"}{",因为这在 json 结构中无效。或者找到该字符串的索引,添加一个并在该索引上拆分。

【讨论】:

  • 不完全是。您的意思是在(?<=})(?={) 上拆分...这将保留用于拆分的括号。
  • 这仅在两个值都是对象时才有效。如果其中一个是数组或原始值怎么办?
  • @TimBiegeleisen 是的,但在这种情况下,我宁愿手动附加删除的括号或使用索引上的拆分。
  • @Henry 不确定这是否会发生,但您也可以针对这些情况构建类似于 }{ 的内容,只是变得更复杂一些。取决于 OP 真正需要什么。
猜你喜欢
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 2012-12-24
  • 2013-06-21
相关资源
最近更新 更多