gpt4 book ai didi

javascript - 如何将字符串化的 surveyjs 类 JSON 对象转换为实际的 JSON

转载 作者:行者123 更新时间:2023-11-30 14:29:37 25 4
gpt4 key购买 nike

我正在开发一个使用调查建筑库的应用程序 surveyjs .我正在构建一个工具,用户可以在该工具中将调查 JSON 从该网站输入到一个表单中,然后通过触发 AWS Lambda 函数的 ajax 请求将其作为字符串发送。 lambda 函数接受 ajax 请求并使用 mongoose 将他们的调查插入到 MongoDB 实例中。

当字符串进入 lambda 函数时,它看起来像这样:

"{ pages: [ { name: 'page1', elements: [ { type: 'radiogroup', name: 'question1', title: 'IS THIS A SURVEY?', choices: [ { value: 'item1', text: 'Yes' }, { value: 'item2', text: 'No' } ] } ] } ]}"

当我尝试解析该字符串时,我得到了这个错误:

错误:JSON 解析错误:应为“}”

我认为这可能与 JSON 键不是字符串有关。我还读到我使用单引号可能是问题所在,但我已经用尽了我的知识库。

总的来说,我的问题是:如何将该字符串转换为 JSON 对象?

谢谢!

最佳答案

JSON 字符串需要将其字符串属性和值用双引号引起来。使用正则表达式并替换:

const originalStr = "{ pages: [ { name: 'page1', elements: [ { type: 'radiogroup', name: 'question1', title: 'IS THIS A SURVEY?', choices: [ { value: 'item1', text: 'Yes' }, { value: 'item2', text: 'No' } ] } ] } ]}";
const finalStr = originalStr
.replace(/'/g, '"')
.replace(/(\w+):/g, '"$1":');
console.log(JSON.parse(finalStr).pages);

也就是说,如果可能的话,一开始就修复服务于结果的任何内容会更好

关于javascript - 如何将字符串化的 surveyjs 类 JSON 对象转换为实际的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413145/

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