我正在接收几个目前使用JSON的对象,并且需要能够修改它们的一部分,同时保留后面的部分,空间,空位,相同。
例如,想象一下我收到了以下对象
{ "example": [ { "Name": "Thing One", "Line2": "more text. ABCD\nEFG" }, { "Name": "Thing Two", "Line2": "XYZZY..." } { "Name": "Thing Three", "Line2": [ { "SubElement": "Sub1", "SubElement": "Sub2" ] } ] }
如果我想要JSON对象,使“Thing One”读取“Thing 111”,同时完全按照现在的方式离开Thing Three,有没有办法做到这一点?
现在,我正在将它转换为字典,修改元素,然后将其转换回来,但这对于这种情况不适用。
我的后备位置是转换为XML并使用Regexes,但这很难看。
答案 0 :(得分:2)
object_pairs_hook
加载函数的json
参数将允许您使用OrderedDictionary
,以便您可以保留JSON对象元素的相同顺序。
答案 1 :(得分:1)
这个问题的最佳答案可能是“不要这样做”。 如果我需要这些位保持相同,我可以用BASE64或yENC编码版本替换“Thing Three”。
答案 2 :(得分:0)
我目前解决此问题的方法是要求JSON采用最紧凑的格式。没有空格,;:等 重新格式化它应该没问题,只要我们总是重新格式化为同样的东西。