我有一个大的json字符串,我需要从属性值中删除任意数量的前导和尾随空格(在c#中),例如。
"Some Property Name": " Some Value "
需要更改为: -
"Some Property Name": "Some Value"
我可以选择在将json字符串转换为newtonsoft json对象之前通过json字符串上的正则表达式替换,或者在转换后循环遍历json对象的属性。
有人想过最好的方法吗?
答案 0 :(得分:3)
你的第二个选择是最安全的选择。
任何时候你必须修改某种结构化文本(XML,HTML,JSON,C#等),最安全的选择是解析,修改和重新格式化。否则,你冒着改变你不打算改变的事情的风险。
在您的特定场景中,正则表达式解决方案可能会无意中从字符串中的引用字符串中删除前导空格,例如
"Some Property Name": " Say \" Hello, world!\" two times "
在开发基于正则表达式的解决方案时,这样的角落案例通常不被注意。另一方面,基于解析器的解决方案不会将这些情况视为"极端情况,"因为理解格式的所有复杂性都转移到了解析器中。