gpt4 book ai didi

javascript - 解析 JSON,其中字符串在属性值开头右侧有撇号 - 引号旁边

转载 作者:行者123 更新时间:2023-11-27 23:53:24 24 4
gpt4 key购买 nike

我在将字符串解析为 JSON 对象时遇到问题。麻烦的方面有两个:

  1. 有一个用引号括起来的短语;和
  2. 该短语出现在字符串的最开头 - 所以
    紧跟在引号字符之后。

我有一些服务器代码,它将以下内容渲染到我的页面中内联脚本元素中:

var str = '[{"Id":null,"Name":"\"A gamma\" bla bla rest of string","Code":null,"OtherBits":null,"IsActive":true,}]';

因此您可以看到,问题在于 "Name" 属性的字符串值。

到目前为止,我唯一有效的方法如下,但显然它是硬编码的,并且仅适用于该示例:

var str = '[{"Id":null,"Name":"\"A gamma\" bla bla rest of string","Code":null,"OtherBits":null,"IsActive":true,}]';
var escapedString = str.replace('"\"', '"\\"');
var escapedString2 = escapedString.replace('a\"', 'a\\"');
var existingDataForItems = JSON.parse(escapedString2);

我需要概括它。

请注意,您可能会认为它很简单:

var escapedString = str.replace('\"', '\\"');

事实并非如此。那是行不通的。

最佳答案

正如我的评论中提到的,只需分配一个对象/数组文字,而不是尝试将其包装在字符串中并解析它。

从评论看来您正在使用 PHP,因此假设您有一个服务器端数组 $data...

var existingDataForItems = <?= json_encode($data) ?>;

这将导致类似的结果(为了清晰起见,添加了格式)

var existingDataForItems = [{
"Id": null,
"Name": "\"A gamma\" bla bla rest of string",
"Code": null,
"OtherBits": null,
"IsActive": true
}];

关于javascript - 解析 JSON,其中字符串在属性值开头右侧有撇号 - 引号旁边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32490475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com