[英]How to get a value from nested JSON data
我正在尝试从下面的嵌套JSON数据中获取一个值。 具体来说,付款捕获ID值0TA12948FV40723B
是我需要的值。
我尝试使用以下代码来检索值。
details.purchase_units.payments.captures.id
details.purchase_units.payments[0].captures.id
但是我不断收到console.log错误:“无法捕获订单”
JSON数据
{
"create_time":"2019-02-19T05:06:52Z",
"update_time":"2019-02-19T05:06:52Z",
"id":"3HB96413YD922272B",
"intent":"CAPTURE",
"status":"COMPLETED",
"payer":{
"email_address":"a@yandex.com",
"payer_id":"WEJUPTK4U53E9",
"address":{
"address_line_1":"1 Main St",
"admin_area_2":"San Jose",
"admin_area_1":"CA",
"postal_code":"95131",
"country_code":"US"
},
"name":{
"given_name":"a",
"surname":"som"
},
"phone":{
"phone_number":{
"national_number":"408-214-8270"
}
}
},
"purchase_units":[{
"reference_id":"default",
"amount":{
"value":"1.01",
"currency_code":"USD"
},
"payee":{
"email_address":"gr-facilitator@yandex.com",
"merchant_id":"MSOIGVMKKWAMA"
},
"shipping":{
"name":{
"full_name":"Mr T"
},
"address":{
"address_line_1":"1234 Main St.",
"address_line_2":"Unit 1",
"admin_area_2":"Chicago",
"admin_area_1":"IL",
"postal_code":"60652","country_code":"US"
}
},
"payments":{
"captures":[{
"status":"COMPLETED",
"id":"0TA12948FV40723B",
"final_capture":true,
"create_time":"2019-02-20T05:06:52Z",
"update_time":"2019-02-20T05:06:52Z",
"amount":{
"value":"1.01","currency_code":"USD"
},
"seller_protection":{
"status":"ELIGIBLE",
"dispute_categories":[
"ITEM_NOT_RECEIVED",
"UNAUTHORIZED_TRANSACTION"
]}
}
]}
}]
}
由于purchase_units和捕获是数组:
details.purchase_units[0].payments.captures[0].id
捕获关键对象在数组中。 所以你不能简单地像
details.purchase_units.payments[0].captures.id
您只需要给出捕获的位置或循环数组就可以解析
details.purchase_units.payments[0].captures[0].id
如果要捕获阵列中的所有ID,可以使用通配符:
details.purchase_units[*].payments.captures[*].id
这将解析指定路径的完整有效负载,并收集数组中的所有ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.