Javascript 如果配对值为字符串,如何从json中获取密钥和配对值

Javascript 如果配对值为字符串,如何从json中获取密钥和配对值,javascript,jquery,json,Javascript,Jquery,Json,下面是我的json响应 { "head": null, "body": { "8431073": "CN0028-00" }, "responseTime": null, "leftPanel": null } 我喜欢从身体里得到关键和价值。下面是我的ajax调用,我想在这里获取键和值。但它返回的是空值 $.ajax({ url: "ulhcircuit.json", method: "GET", contentType: "application/j

下面是我的json响应

{
  "head": null,
  "body": {
    "8431073": "CN0028-00"
  },
  "responseTime": null,
  "leftPanel": null
}
我喜欢从身体里得到关键和价值。下面是我的ajax调用,我想在这里获取键和值。但它返回的是空值

$.ajax({

  url: "ulhcircuit.json",
  method: "GET",
  contentType: "application/json; charset=utf-8",
  success: function(data) {
    result = data.body;
    gethtmlvalues(result);
    $("#dialog_loading").hide();
  },
  fail: function(xhr, ajaxOptions, thrownError) {
    console.log(xhr);
    $("#dialog_loading").hide();
  }
});


function gethtmlvalues(result) {
    var circuitList = result;
    var cktInstId = "";
    var cktName = "";
    if (circuitList != null) {

      if (circuitList.length > 0) {
        $.each(circuitList, function(key, value) {

          cktInstId = key; // returns empty values
          cktName = value; // returns empty values
        });
      }
    }
}
我想要cktInstId为8431073,cktName为CN0028-00


请帮助我。提前谢谢

当您的响应输入
gethtmlvalues
时,您正在传递
数据。body
,它基于您给出的JSON,看起来像:

{ "8431073": "CN0028-00" }
这是一个普通的JS对象,不是列表,并且
length
属性的存在并不意味着它包含的项目数量。这意味着您不需要进行长度检查(您正在比较
undefined>0
)。您也不需要(错误地)命名额外变量
circuitList
,只需使用
result

function gethtmlvalues(result){
  if(result != null){    
      $.each(result,function(key, value){
          console.log(key, value); // this will print your key value pair
      });
  }
}

circuitList.length不是属性,请使用Object.keys(circuitList).length

var data={“head”:null,“body”:{“8431073”:“CN0028-00”},“responseTime”:null,“leftPanel”:null}
var结果=data.body;
gethtmlvalues(结果);
函数gethtmlvalues(结果){
调试器;
var circuitList=结果;
var cktInstId=“”;
var cktName=“”;
如果(电路列表!=null){
//如果(circuitList.length>0){
$.each(电路列表、函数(键、值){
控制台日志(键);
console.log(值);
cktInstId=key;//返回空值
cktName=value;//返回空值
});
//}
}
}

请在ajax成功事件中控制台.log(data.body)并检查您作为一个对象得到了什么。如果我们单击该对象,它将显示为8431073:“CN0028-00”@saminathan no problem mate,很高兴提供帮助