You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中格式化嵌套字符串JSON属性的序列化JSON

解决嵌套JSON字符串的序列化/格式化问题

输入的JSON中Data字段是转义后的JSON字符串,需要将其转换为JSON对象,同时清除转义符、换行符等,得到结构化的最终JSON。

原始输入

{"Id": 33,"Data": "{\n    \"$Datatype\": \"Val1, Val2\"\n }","Name": "Test"}

目标输出

{"Id": 33,"Data": {"$Datatype": "Val1, Val2"},"Name": "Test"}

实现方案

核心逻辑是先解析外层JSON,再将嵌套的JSON字符串解析为对象,最后重新序列化,自动处理转义符和换行。

Python 实现

import json

# 原始输入
raw_input = '{"Id": 33,"Data": "{\n    \"$Datatype\": \"Val1, Val2\"\n }","Name": "Test"}'

# 解析外层JSON
parsed = json.loads(raw_input)
# 解析Data字段的嵌套字符串
parsed["Data"] = json.loads(parsed["Data"])
# 生成目标JSON(可加indent参数美化格式)
result = json.dumps(parsed)
print(result)

JavaScript 实现

// 原始输入
const rawInput = '{"Id": 33,"Data": "{\n    \"$Datatype\": \"Val1, Val2\"\n }","Name": "Test"}';

// 解析外层JSON
let parsed = JSON.parse(rawInput);
// 解析Data字段的嵌套字符串
parsed.Data = JSON.parse(parsed.Data);
// 生成目标JSON(可加参数美化格式)
const result = JSON.stringify(parsed);
console.log(result);

执行后就能得到符合要求的输出,若需要格式化美化的JSON,只需在dumps/stringify中添加缩进参数即可。

内容的提问来源于stack exchange,提问作者mohd afzal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:25:25