c# - 删除 json 字符串中的尾随空格 C#

标签 c# json regex

我有一个很大的 json 字符串,我需要从属性值(在 c# 中)中删除任意数量的前导和尾随空格,例如

"Some Property Name": " Some Value "

需要更改为:-

"Some Property Name": "Some Value"

我可以选择在将 json 字符串转换为 newtonsoft json 对象之前通过正则表达式替换来执行此操作,或者在转换后循环遍历 json 对象的属性。

有人想过最好的方法吗?

最佳答案

你的第二个选择是最安全的。

任何时候您必须修改某种结构化文本(XML、HTML、JSON、C# 等)时,最安全的选择是解析、修改和重新格式化。否则,您可能会更改您不打算更改的内容。

例如,在您的特定情况下,正则表达式解决方案可能会无意中从字符串中带引号的字符串中去除前导空格

"Some Property Name": " Say \"   Hello, world!\" two times "

在开发基于正则表达式的解决方案时,像这样的极端情况通常会被忽视。另一方面,基于解析器的解决方案不会将这些情况视为“极端情况”,因为理解格式的所有复杂性都转移到了解析器中。

关于c# - 删除 json 字符串中的尾随空格 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776655/

相关文章:

c# - 文本框自动滚动从 wp8.1 rt 中的代码后面添加文本

javascript - 返回的对象未定义

java - 操作从java Map转换而来的JSON对象

Python正则表达式获取两个字符串之间的文本

regex - 正则表达式 : matching only if not ending in particular sequence

C# Outlook 加载项数组从 1 开始?

c# - IP 多播 : How do I know someone is subscribed?

c# - 为什么我的 WCF 服务给出消息 'does not have a Binding with the None MessageVersion' ?

Java JSONPARSER,验证JSON(解析之前或之后)

c++ - boost::regex vs std::regex - 找不到 empty() 方法?