c#如何去掉json字符串的转译符换行缩进
时间: 2024-09-25 13:14:09 浏览: 116
angular-smart-truncate:字符串截断,让你看到被截断的字符串的开头和结尾
在C#中,当你从JSON字符串接收数据并想要去除其中的转义字符(如换行符和缩进),可以使用`JsonConvert.DeserializeObject()`方法配合一些额外步骤。首先,你需要安装Json.NET库( Newtonsoft.Json)来进行反序列化。然后,你可以设置`JsonSerializerSettings`的`ContractResolver`属性,自定义解析过程。
下面是一个示例:
```csharp
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
// 去除JSON字符串中的转义字符
string jsonWithEscapes = "{\"key\": \"value\\nwith\\tindentation\"}";
var settings = new JsonSerializerSettings {
ContractResolver = new DefaultContractResolver {
NamingStrategy = new SnakeCaseNamingStrategy() // 可选,替换为其他命名策略
},
Formatting = Formatting.None // 设置为无格式化,去掉缩进和换行
};
// 将JSON转换为 JObject,便于操作
JObject jObject = JObject.Parse(jsonWithEscapes, settings);
// 获取原始值,这里会是 "value\nwith\tindentation"
string value = jObject["key"].ToString();
// 如果你想直接得到字符串而不是JObject,可以这样做:
string jsonStringWithoutEscapes = JsonConvert.SerializeObject(jObject, settings);
```
阅读全文