我得到这个字符串作为输入
"countries" : "[[england, australia], [UAE, China], [UAE]]"
我想,我需要把这个字符串转换成
{"countries": [["england", "australia"], ["UAE", "China"], ["UAE"]]}
然后我可以将转换为Object在js中使用json.parse()方法我试了各种方法,但似乎都不起作用。
我试着
- JSON.stringify
- JSON.parse
- eval
我在Java中做过这个,但是在Javascript中不能这样做。我是js的新手,在java中我可以很容易地做这个JSONObject。
任何帮助将不胜感激,谢谢!!
这需要多个步骤:
将输入用花括号括起来,并执行JSON.parse
:
const input = ""countries" : "[[england, australia], [UAE, China], [UAE]]""
const result = JSON.parse("{" + input + "}")
给你一个像这样的对象:
{
"countries": "[[england, australia], [UAE, China], [UAE]]"
}
然后将内部字符串用双引号括起来并再次解析:
const inner = result.countries
result.countries = JSON.parse(inner.replaceAll(/([a-zA-Z]+)/g, '"$1"'))
得到result
:
{
"countries": [
[
"england",
"australia"
],
[
"UAE",
"China"
],
[
"UAE"
]
]
}