繁体   English   中英

jQuery Rest APi JSON

[英]jquery Rest APi json

我在jQuery 3.2.1中有此代码。

$.ajax({
    url: "http://xxx:8080/v1/objects/Kunde?query=query=%7B%22queryString%22%3A%22query%20Name1%20%3D%20%5C%22*%5C%22%3B%22%7D",
    type: "GET",
    crossDomain: true,
    dataType: "json",
    headers: {
        "appkey": "123", 
        "Content-Type": "application/json; charset=utf-8", 
        "Access-Control-Allow-Origin": "*", 
        "Authorization":"Basic VGVzdDo1NmQ2Njg3YmEyMGM5YzFjN2Q1MGUyOGY4NTI0MTA3Yg==", 
        "sessionId": sessionID
    },    
    cache: false,
    success: function (jo) {
        var Kunde = jo.data;
        $("#daises").html(Kunde);
    }
});

如果我尝试使用RestClient的请求,则会在Json中得到此“答案”。

{
    "status": {
        "internalStatus": "0",
        "statusMessage": "ok"
    },
    "data": {
        "~Count": 108,
        "~Elements": [
            {
                "~ClassName": "Vorgang",
                "~ObjectID": "7GCJ",
                "~StoreTime": "20161104T125531"
            },
            {
                "~ClassName": "Vorgang",
                "~ObjectID": "7PJ6",
                "~StoreTime": "20161220T164103"
            }
        ]
    }
}

我需要的是~ObjectID但我不知道如何获取此对象。 我尝试了不同的方法,但我只有零个条目。

有人可以帮助我吗?

@antpaw所以,我尝试的是

     $.ajax (
  {

                   url: "http://xx:8080/v1/objects/Kunde?query=query=%7B%22queryString%22%3A%22query%20Name1%20%3D%20%5C%22*%5C%22%3B%22%7D",
                   type: "GET",
                   crossDomain: true,
                   dataType : "json",
                   headers : {"appkey" : "123" , 
                   "Content-Type" : "application/json; charset=utf-8", 
                   "Access-Control-Allow-Origin" : "*", 
                   "Authorization":"Basic VGVzdDo1NmQ2Njg3YmEyMGM5YzFjN2Q1MGUyOGY4NTI0MTA3Yg==", 
                   "sessionId": sessionID },

                   cache: false,
                   success: function (jo) {
                   var Kunde = jo.data["~Elements"].forEach(function(element){
  element["~ObjectID"]
});
                   $("#daises").html(Kunde);
                   }
                   })
}
             })

但是我仍然得到零个对象。 难道这是另一个问题吗? 在Firefox控制台上,元素也为零。 这里是编码的URL {"queryString":"query Nummer = \\"*\\";"}

谢谢你的帮助

ObjectID存储在数组中

jo.data["~Elements"][0]["~ObjectID"] // get objectId of first item
jo.data["~Elements"].forEach(function(element){
  element["~ObjectId"]
}) // iterate items

我希望这是您要寻找的。

您还可以json properties using index syntax访问json properties using index syntax

期望您已将JSON响应分配给value

$.each( value.data["~Elements"], function( key, value ) {
  console.log(value["~ObjectID"]);
});

您可以尝试这样的事情,

success: function (jo) {
    var Kunde = jo.data;
    var elements = Kunde.~Elements;
    var arrayOfObjectID = [];
    $.each(elements, function (i,v){
         arrayOfObjectID[i] = v.~ObjectID;
    });
//arrayOfObjectID should contain all the ObjectID values that you have in your json
    $("#daises").html(arrayOfObjectID);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM