【问题标题】:jquery Rest APi jsonjquery REST API json
【发布时间】:2018-08-09 15:29:48
【问题描述】:

我在 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,但我不知道如何获取这些对象。我尝试了不同的方法,但只有零个条目。

有人可以帮助我吗?

@蚁爪 所以,我尝试的是这个

     $.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 = \"*\";"}

感谢您的帮助

【问题讨论】:

    标签: jquery json rest api


    【解决方案1】:

    ObjectID 存储在数组中

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

    【讨论】:

      【解决方案2】:

      我希望这就是你要找的。​​p>

      您也可以访问json properties using index syntax

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

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

      【讨论】:

      • 这是我的荣幸。确保接受答案,以便对其他人有所帮助
      【解决方案3】:

      你可以试试这样的,

      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);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-26
        • 1970-01-01
        • 2013-10-09
        • 1970-01-01
        • 2019-02-21
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多