我有这个JSON字符串,其中包含URL形式的密钥:
"{\n \"http:\/\/it.dbpedia.org\/resource\/Pasadena\" : {
\"http:\/\/www.w3.org\/2002\/07\/owl#sameAs\" : [ { \"type\" : \"uri\", \"value\" :
\"http:\/\/dbpedia.org\/resource\/Pasadena\" } ] } ,\n
\"http:\/\/cs.dbpedia.org\/resource\/Pasadena_(rozcestn\\u00EDk)\" : {
\"http:\/\/www.w3.org\/2002\/07\/owl#sameAs\" : [ { \"type\" : \"uri\", \"value\" :
\"http:\/\/dbpedia.org\/resource\/Pasadena\" } ] } ,\n
\"http:\/\/de.dbpedia.org\/resource\/Pasadena\" : {
\"http:\/\/www.w3.org\/2002\/07\/owl#sameAs\" : [ { \"type\" : \"uri\", \"value\" :
\"http:\/\/dbpedia.org\/resource\/Pasadena\" } ] } ...
我需要以"http:\/\/www.w3.org\/2002\/07\/owl#sameAs\"
作为关键字来获取数组。
我使用JSON.parse()
在JS中解析它。但无法找到此密钥。
var doc = JSON.parse(req.responseText);
var str = "http://dbpedia.org/ontology/populationTotal";
var popTotal = doc.str;
var population = popTotal[0].value;
但是这给出了未定义的预期。如何获取这些字符的值?
答案 0 :(得分:2)
您正在错误地引用该值。 这条线
var popTotal = doc.str;
应该是
var popTotal = doc[str];
在秒的情况下,它将使用str作为属性名称,在第一个中它将查找名为“str”的属性。