假设我有一些复杂的 json,如下所示:
{
"ref": "some",
"repository": {
"id": 123456789,
"name": "foo bar"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其转换为以下格式:
{"ref":"some","repository":{"id":123456789,"name":"foo bar"}}
Run Code Online (Sandbox Code Playgroud)
因此,除了 json 键/值对本身中的空格或换行符之外,没有空格或换行符。
Regex.Replace(myJson, @"\s+", string.Empty)foo bar删除结果中的空格foobar。
使用
JsonConvert.SerializeObject(myJson, Formatting.None)
给我
{\n \"ref\": \"some\",\n \"repository\": {\n \"id\": 123456789,\n \"name\": \"foo bar\"\n }\n}
我可以删除此 json 上所有非必要的空格和换行符的另一种方法是什么?
您始终可以将 json 反序列化为对象,然后重新序列化它。在不提供任何选项的情况下,默认结果符合您的要求。
var rawJson = @"{
""ref"": ""some"",
""repository"": {
""id"": 123456789,
""name"": ""foo bar""
}
}";
var tempObj = JsonConvert.DeserializeObject(rawJson);
var inlineJson = JsonConvert.SerializeObject(tempObj);
Run Code Online (Sandbox Code Playgroud)
其输出是{"ref":"some","repository":{"id":123456789,"name":"foo bar"}}
| 归档时间: |
|
| 查看次数: |
3357 次 |
| 最近记录: |