我有问题可以访问JavaScript中的数组,我从JSON字符串转换而来。将JSON字符串转换为关联的JavaScript数组
这是代码:
var data = "{"2":"value1", "3":"value2", "4":"value4"}";
var result = JSON.parse(data);
我的问题是:我怎么能存取权限值是多少?假设我想获得“value1”,我可以如何访问它?
Regards
我有问题可以访问JavaScript中的数组,我从JSON字符串转换而来。将JSON字符串转换为关联的JavaScript数组
这是代码:
var data = "{"2":"value1", "3":"value2", "4":"value4"}";
var result = JSON.parse(data);
我的问题是:我怎么能存取权限值是多少?假设我想获得“value1”,我可以如何访问它?
Regards
您需要修复外部引号。另外,获得一个“关联数组”的关联数组的最佳方式是使用一个对象,而JSON.parse无论如何都会返回给您。
var data = '{"2":"value1", "3":"value2", "4":"value4"}'; // outer quotes converted to single quotes
var result = JSON.parse(data);
console.log(result["2"]); // "value1"
var data = "{\"2\":\"value1\", \"3\":\"value2\", \"4\":\"value4\"}";
var result = JSON.parse(data);
console.log(result["2"])
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"
虽然转义引号是你的问题的解决方案,它如果您为JavaScript字符串文字使用单引号,则更容易:
var data = '{"2":"value1", "3":"value2", "4":"value4"}';
var result = JSON.parse(data);
console.log(result);
继承人纯的Javascript的解决方案:
var data = '{"2":"value1", "3":"value2", "4":"value4"}';
var result = JSON.parse(data);
console.log(result["2"]);
现在,这里是一个使用jQuery的一个解决方案。希望它可以帮助
var data = '{"2":"value1", "3":"value2", "4":"value4"}';
var obj = $.parseJSON(data);
console.log(obj["2"]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
不是有效的字符串,逃不过你的双引号' “{\” 2 \ “:\” VALUE1 \ “...}”;' – GillesC
你' data'字符串不是有效的字符串,并且字符串的内容不是数组 –