【发布时间】:2020-12-14 01:11:00
【问题描述】:
我遇到了一些我不完全理解的问题,但我尝试了也无法解决。
假设我有一个对象:
const jsonExample = {
textToReplace: 'My text',
arrayToReplace: 'My array: ${arrayParam}',
};
我需要对这个对象进行字符串化以替换 arrayParam:
const myArray = ['foo', 'bar'];
const stringifiedJson = JSON.stringify(jsonExample).replace('${arrayParam}', JSON.stringify(myArray));
然后我需要将它解析回一个对象,并取回我的数组:
const newJson = JSON.parse(stringifiedJson);
但是我在字符串化数组的开头得到了一个 SyntaxError。我有什么遗漏吗?
我知道这是一种相当复杂的做事方式,但在我真正的问题中,我有一个迭代替换方法,到目前为止,它只处理字符串,但我也需要它来替换数组。
谢谢!
编辑:错误是:
SyntaxError: Unexpected token f in JSON at position 57
【问题讨论】:
-
请您也分享错误
-
“假设我有一个 JSON”——这是一个 object,而不是 JSON。 JSON 是当您从
JSON.stringify获取时。见benalman.com/news/2010/03/theres-no-such-thing-as-a-json -
对 JSON 字符串进行查找和替换听起来是一种很好的破解方法。循环遍历对象的属性并一次替换一个值。
-
我会以其他方式进行,但我确实需要一个特定的方法,它通常需要字符串并进行替换,以获取该对象(我无法修改所述方法)
标签: javascript json stringify