{
"$id": "1",
"return_code": "SUCCESS",
"message": "",
"resdata": {
"$id": "2",
"$values": [
{
"$id": "3",
"menuOid": "be066af2-0de9-ea11-a76b-00155de5aa1f",
"name": "点菜谱1",
"effect": true
}
]
}
}
如上面的数据,多出来了一层结构,"$id" 和 "$values" ,如何去除这层结构恢复原始的json对象结果呢?
如果您使用 System.Text.Json 序列化数据,默认情况下它会生成一种不带格式的 JSON 字符串,但您可以通过使用 JsonSerializerOptions 类来自定义生成的 JSON 格式。
您可以通过以下代码来生成带格式的 JSON 字符串:
var options = new JsonSerializerOptions
{
WriteIndented = true
};
string json = JsonSerializer.Serialize(object, options);
其中,object 是您要序列化的对象,WriteIndented 属性设置为 true 时,生成的 JSON 字符串将带有缩进。您可以调整缩进的空格数量,通过将 JsonSerializerOptions 的 Indented 属性设置为您希望的数量:
var options = new JsonSerializerOptions
{
WriteIndented = true,
IndentChar = ' ',
Indentation = 4
};
您还可以按照需要设置其他选项,以定制生成的 JSON 格式。