javascript - Convertir une chaîne JS non standard en un objet JSON standard
高洛峰
高洛峰 2017-05-18 10:58:23
0
3
442

J'ai la chaîne js suivante

var aaa='{a:1,b:2,c:3}';

Comment convertir rapidement aaa en un objet Json standard comme {'a':1,'b':2,'c':3} ?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(3)
黄舟

Vous avez une mauvaise compréhension de l'objet JSON standard. Les attributs du JSON standard sont placés entre guillemets doubles. Ni les guillemets simples ni les guillemets simples ne fonctionneront.

JSON.parse(str) Le paramètre str reçu ici doit être une chaîne conforme au format JSON. S'il n'est pas conforme au format JSON, une erreur sera signalée. JSON.parse(str) 这里接收的 str 参数要求是符合 JSON 形式的字符串,不符合 JSON 形式会报错。

所以先要将对象的属性加上双引号。

如果你不想使用 eval

Alors ajoutez d’abord des guillemets doubles aux attributs de l’objet.

Si vous ne souhaitez pas utiliser eval, vous pouvez utiliser cette méthode, #🎜🎜#
var aaa="{a:1, b:2, c:3}";
function toJSONStr(str) {
  return str.replace(/([$\w]+)\s*:/g, function(_, ){return '"'++'":'});
}
function toJSON(str) {
  return JSON.parse(str);
}
toJSON(toJSONStr(aaa));
#🎜🎜#SyntaxError : JSON.parse : mauvaise analyse#🎜🎜#
洪涛

JSON.parse(aaa);

JSON.stringify : json =》string
JSON.parse:string=》json
Veuillez vous référer à : https://m.baidu.com/from=1086...

Peter_Zhu
var result = eval('('+aaa+')');
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal