从JSON对象(Javascript)中提取值?

从JSON对象(Javascript)中提取值?,javascript,json,Javascript,Json,如何在Javascript中提取pid的值 { "payments":[ { "pid":"XXX", "valid":"1" } ] } 这不是有效的JSON对象 如果付款是一个数组,则可以使用myObj.payments[0].pid检索pid 如果payments是一个对象,那么您可以使用:myObj.payments.pid检索pid您的json不是有效的json,您的json应该如下所示 Object={ pay

如何在Javascript中提取pid的值

{
   "payments":[
      {
         "pid":"XXX",
         "valid":"1"
      }
   ]
}

这不是有效的JSON对象

如果付款是一个数组,则可以使用myObj.payments[0].pid检索pid


如果payments是一个对象,那么您可以使用:myObj.payments.pid检索pid

您的json不是有效的json,您的json应该如下所示

Object={
payments: [{pid: "XXX",valid: 1},{pid: "XXX",valid: 1}]
}
一旦你的json变成这样

Object={
payments: [{pid: "XXX",valid: 1},{pid: "XXX",valid: 1}]
}
然后,您可以将json读取为

Object.payments[0].pid 
这将为您提供pid值

var a = {
  "payments":[
    {"pid":"XXX"},{"valid":"1"}]
}

console.log(a.payments[0]);
如果JSON的数组中有多个付款,您可以使用:

for(var i = 0; i < myObject.payments.length; i++){
    myObject.payments[i].pid
}
使用JSON.stringifyhttpResponse.data时,基本上是将httpResponse.data转换为具有有效JSON符号的字符串。这意味着,httpResponse.data已经是可以从中获取pid的有效对象

因此:

httpResponse是一个对象

httpResponse.data是httpResponse对象中的另一个对象

httpResponse.data.payments是httpResponse.data对象中的一个数组

httpResponse.data.payments[0]是httpResponse.data.payments数组的第一个子对象

httpResponse.data.payments[0].pid是您要查找的

因此:


是否有此对象的名称,或者这是浏览器在请求页面时打印的名称?不确定。这就是我执行以下console.logJSON.stringifyhttpResponse.data时记录的内容;好的,现在我可以回答了是的,付款是一个数组。哇!你完全正确。实际上,我正在使用parse.com发出http请求,我刚刚看到了以下内容:将解析后的响应体数据作为JavaScript对象。这仅在响应内容类型为application/x-www-form-urlencoded或application/json时可用。谢谢你,阿曼!
console.log(httpResponse.data.payments[0].pid); //prints "XXX"