将JSON字符串转换为关联Javascript数组

将JSON字符串转换为关联Javascript数组,javascript,arrays,json,Javascript,Arrays,Json,我在访问Javascript中从JSON字符串转换而来的数组时遇到问题 代码如下: var data = "{"2":"value1", "3":"value2", "4":"value4"}"; var result = JSON.parse(data); 我的问题是:我如何才能获得这些价值观?假设我想获得“value1”,我如何才能获得它 关于您需要修复外部引号。另外,获取“关联数组”的最佳方法是使用一个对象(JSON.parse会返回给您),其中的键不是正数,而是字符串 var dat

我在访问Javascript中从JSON字符串转换而来的数组时遇到问题

代码如下:

var data = "{"2":"value1", "3":"value2", "4":"value4"}";
var result = JSON.parse(data);
我的问题是:我如何才能获得这些价值观?假设我想获得“value1”,我如何才能获得它


关于

您需要修复外部引号。另外,获取“关联数组”的最佳方法是使用一个对象(JSON.parse会返回给您),其中的键不是正数,而是字符串

var data='{“2”:“value1”、“3”:“value2”、“4”:“value4”}';//外部引号转换为单引号
var result=JSON.parse(数据);
console.log(结果[“2”]);//“值1”
现在,您可以像通常在对象中一样访问它们:

console.log(result["2"]);  // "value1"
console.log(result["3"]);  // "value2"
console.log(result["4"]);  // "value4"

虽然转义引号是解决问题的一种方法,但如果对JavaScript字符串文字使用单引号,则更容易:

var数据='{“2”:“value1”,“3”:“value2”,“4”:“value4”}';
var result=JSON.parse(数据);

控制台日志(结果)这里有一个纯Javascript的解决方案:

var数据='{“2”:“value1”,“3”:“value2”,“4”:“value4”}';
var result=JSON.parse(数据);

console.log(结果[“2”])不是有效字符串,请在
“{\“2\”:“value1\”,…}”中转义双引号
您的
数据
字符串不是有效的字符串,并且字符串的内容不是数组
var data = "{\"2\":\"value1\", \"3\":\"value2\", \"4\":\"value4\"}";
var result = JSON.parse(data);
console.table(result);
// Object
//     2: "value1"
//     3: "value2"
//     4: "value4"
console.log(result["2"]);  // "value1"
console.log(result["3"]);  // "value2"
console.log(result["4"]);  // "value4"