处理 JSON 中的换行符:避免评估头痛
在 JavaScript 中处理 JSON 数据时,有效处理换行符以避免解析变得至关重要错误。考虑以下示例,其中尝试使用 eval 和 JSON.parse 将包含换行符的 JSON 数据转换为对象失败:
var data = '{"count" : 1, "stack" : "sometext\n\n"}'; var dataObj = eval('('+data+')'); // This approach is discouraged
问题源于字符串中存在换行符 (n),其中被误解为 JSON 数据中的换行符,导致评估过程过早终止并生成“未终止的字符串文字”错误。
要纠正此问题并成功转换将 JSON 数据转换为对象时,通过将换行符加倍来转义换行符至关重要。这可确保换行符保留为 JSON 数据的一部分,而不是解释为换行符。更正后的代码如下所示:
var data = '{"count" : 1, "stack" : "sometext\n\n"}'; var dataObj = JSON.parse(data);
转义换行符允许 JSON 解析器正确解释数据并创建所需的对象,而不会遇到任何解析错误。
以上是如何正确处理 JSON 中的换行符以避免解析错误?的详细内容。更多信息请关注PHP中文网其他相关文章!