从字符串中获取json

getting json from string

本文关键字:json 获取 字符串      更新时间:2023-09-26

我有以下json对象

"phrase": "{subject: Hello}"

当我访问"phrase"时,它会以字符串的形式返回"{subject: Hello}",但我希望将此字符串转换为json对象。

有一个名为JSON.parse的函数可以将字符串转换为对象,但我不确定它是否适用于您的情况,因为您有无效的JSON(没有引用"Hello"是投标交易,没有引用"subject"是坏信号)

如果它是Javascript对象文字,只需在创建时删除引号:

var phrase = { subject: "Hello" };

如果是解析的JSON字符串,请将该字符串更改为对象:

{ "phrase": { "subject": "Hello" } }

如果您有一个包含JSON字符串的变量,则需要使其成为有效的JSON来解析它:

var phrase = '{ "subject": "Hello" }';
var obj = JSON.parse(phrase);

您还可以将字符串解析为Javascript,它具有更轻松的语法。字符串值需要分隔符:

var phrase = '{ subject: "Hello" }';
var obj = eval(phrase);

请注意,eval函数实际上以javascript的形式执行字符串,因此您需要知道字符串值的来源才能确保安全。

使用JSON.parse():

var obj = {myObj:"{'"this'":'"that'"}"};
obj.myObj = JSON.parse(obj.myObj);
alert(obj.myObj["this"]);

这是演示。

您可以将本机JSON解析与JSON.parse(jsonString);
一起使用(编辑:假设有一个有效的JSON对象)