如何在C++中将JSON格式转换为指定格式的字符串?
解决方案
Python实现
如果使用Python,可以通过解析JSON为字典后遍历键值对,拼接成目标格式:
import json # 原始JSON字符串 json_str = '{"key1": "value1", "key2": "value2"}' # 解析为字典对象 data = json.loads(json_str) # 生成每行键值对的字符串并拼接 result = '\n'.join([f'{key}: "{value}"' for key, value in data.items()]) print(result)
输出结果:
key1: "value1" key2: "value2"
JavaScript实现
在浏览器或Node.js环境中,可通过JSON.parse解析后处理:
const jsonStr = '{"key1": "value1", "key2": "value2"}'; const data = JSON.parse(jsonStr); // 遍历键值对并拼接成目标格式 const result = Object.entries(data).map(([key, value]) => `${key}: "${value}"`).join('\n'); console.log(result);
命令行(jq工具)实现
如果习惯用命令行处理,可借助jq工具快速转换:
echo '{"key1": "value1", "key2": "value2"}' | jq -r 'to_entries[] | "\(.key): \"\(.value)\""'
执行后直接输出目标格式文本。
处理含特殊字符的值
如果JSON中的值包含双引号、换行等特殊字符,需要自动转义以保证格式正确,可调整代码使用JSON序列化方法处理值:
Python调整版
import json # 含特殊字符的JSON json_str = '{"key1": "val\"ue with quote", "key2": "value\\nwith newline"}' data = json.loads(json_str) # 用json.dumps自动转义特殊字符 result = '\n'.join([f'{key}: {json.dumps(value)}' for key, value in data.items()]) print(result)
输出:
key1: "val\"ue with quote" key2: "value\nwith newline"
JavaScript调整版
const jsonStr = '{"key1": "val\"ue with quote", "key2": "value\\nwith newline"}'; const data = JSON.parse(jsonStr); // 用JSON.stringify自动转义 const result = Object.entries(data).map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join('\n'); console.log(result);
内容的提问来源于stack exchange,提问作者cShellPro
相关产品推荐
相关产品推荐

