2016-09-25 4 views
-1

Я хочу, чтобы получить значениеreq1 в ниже JSON, programatically.Here RequestTypeItem может быть изменен, так что это не зафиксировано. Иначе я мог бы перемещаться его с помощью object.subobjectПолучение значения вложенного объекта в JSON

я был в состоянии перемещаться до слотов используя

var b = JSON.parse("{ .... }"); 
b.request.intent.slots.RequestTypeItem.value 

Но я могу перемещаться дальше программно.

{"request": { 
    "locale": "en-US", 
    "timestamp": "2016-09-25T00:36:14Z", 
    "type": { 
    "name": "request", 
    "slots": { 
     "RequestTypeItem": { 
     "name": "RequestTypeItem", 
     "value": "req1" 
     } 
    } 
    } 
} 
} 

ответ

2

В вашем JSON ваш запрос не имеет свойство намерения, он имеет тип свойство , так что вы, то вы можете получить доступ к свойству вы хотите с

b.request.type.slots.RequestTypeItem.value 

JSFiddle : https://jsfiddle.net/9cexbn54/

Редактировать: После прочтения вашего вопроса снова, возможно, это то, что вы хотите:

// loop through all properties on the slots object 
for (var i in b.request.type.slots) { 
    if (b.request.type.slots.hasOwnProperty(i)) { // make sure it is a property belonging directly to slots, and not "inherited" from the prototype chain 
    if (b.request.type.slots[i].value) { // make sure that the sub-property of slots has a value property 
     document.getElementById("output").innerHTML = b.request.type.slots[i].value; 
     break; // break out of the loop after getting a value 
    } 
    } 
} 

Здесь я просматриваю все свойства слотов, проверяя, что свойство действительно принадлежит слотам и что оно имеет свойство value.

JSFiddle: https://jsfiddle.net/9cexbn54/1/

0

я дал ссылку, по которой некоторые из вас нашли это не полезно. Вот что бы добраться до req1:

enter image description here

[email protected]' 
[{"request": { 
    "locale": "en-US", 
    "timestamp": "2016-09-25T00:36:14Z", 
    "type": { 
    "name": "request", 
    "slots": { 
     "RequestTypeItem": { 
     "name": "RequestTypeItem", 
     "value": "req1" 
     } 
    } 
    } 
} 
}] 
'@ 
$json=ConvertFrom-Json $data 
$json.request.type.slots.RequestTypeItem.value 
Смежные вопросы