在Angular中如何基于API响应生成符合要求的自定义JSON?
动态生成指定格式JSON无效的问题排查及解决
常见错误原因
- 最常见的问题是直接将
response.xxx变量引用写入JSON文本中,JSON本身是纯文本格式,不支持识别变量,这段内容会被识别为非法字符串,直接导致格式失效。 - 手动拼接JSON字符串时容易出现语法错误,比如键名未加双引号、缺失逗号、括号不闭合等。
- 若response的对应字段值为undefined、Symbol等无法序列化的类型,也会导致生成的JSON不符合规范。
正确实现示例(JavaScript环境)
// 示例API返回的response对象 const response = { dataOverallCount: 2, dataTodaysCount: 0, itemOverallCount: 6, itemTotalCount: 3 }; // 先构造符合结构要求的原生JS对象 const targetObj = { data: [ { dataOverallCount: response.dataOverallCount, dataTotalCount: response.dataTodaysCount } ], item: [ { itemOverallCount: response.itemOverallCount, itemTotalCount: response.itemTotalCount } ] }; // 调用内置序列化方法生成标准合法JSON const validJSON = JSON.stringify(targetObj, null, 2);
执行上述代码后输出的validJSON就是完全符合要求的有效JSON内容。
内容的提问来源于stack exchange,提问作者neelam
相关产品推荐
相关产品推荐

