Javascript 如何使用字符串中的http解析JSON

Javascript 如何使用字符串中的http解析JSON,javascript,json,Javascript,Json,我有一个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

我有一个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;

但这给出了未定义的结果。如何使用这些字符获取值?

您引用的值不正确。 线路

应该是

var popTotal = doc[str];

在第二种情况下,它将使用str作为属性名,在第一种情况下,它将查找名为“str”的属性。

您的问题与字符串中的http几乎没有关系。这只是关于如何使用任何字符串访问属性。所以,我不需要从URL转义任何字符?不。。。JSON支持任何字符作为名称。通常,在输入名称时,您只需转义引号,以便将它们与结束引号区分开来(显然,这种转义仅在您直接以文本形式输入引号时发生)。
var popTotal = doc[str];