簡體   English   中英

如何從 json-server 托管的 API 訪問數組中的對象

[英]How do I access an object in an array from an API hosted by json-server

我正在使用 json-server 在我的項目中托管 API。

json-server 給我的是http://localhost:3000/records

{
    "record": [
        {
            "userID": "2",
            "userFirstName": "Arya",
            "userLastName": "Stark",
            "userMiddleName": "null",
            "roleName": "Admin",
            "roleID": "1"
        },
        {
            "userID": "1",
            "userFirstName": "John",
            "userLastName": "Snow",
            "userMiddleName": "null",
            "roleName": "Moderator",
            "roleID": "1"
        }
    ]
}

我正在使用 Postman 向服務器發出GET請求。

如何進入record數組並訪問userID2的對象?

我試過這種方式,但它返回一個空對象。

如果我錯了,請糾正我:

http://localhost:3000/records/record?userID=2

我的實際 JSON 對象文件:

{
  "records": {
    "record": [
      {
        "userID": "2",
        "userFirstName": "Arya",
        "userLastName": "Stark",
        "userMiddleName": "null",
        "roleName": "Admin",
        "roleID": "1"
      },
      {
        "userID": "1",
        "userFirstName": "John",
        "userLastName": "Snow",
        "userMiddleName": "null",
        "roleName": "Moderator",
        "roleID": "1"
      }
    ]
  }
}

稍微改變一下你的 JSON 結構:

{
  "records": [
    {
      "userID": "2",
      "userFirstName": "Arya",
      "userLastName": "Stark",
      "userMiddleName": "null",
      "roleName": "Admin",
      "roleID": "1"
    },
    {
      "userID": "1",
      "userFirstName": "John",
      "userLastName": "Snow",
      "userMiddleName": "null",
      "roleName": "Moderator",
      "roleID": "1"
    }
  ]
}

然后http://localhost:3000/records?userID=2返回

[
  {
    "userID": "2",
    "userFirstName": "Arya",
    "userLastName": "Stark",
    "userMiddleName": "null",
    "roleName": "Admin",
    "roleID": "1"
  }
]

除了解決實際訪問問題之外,我還無法找到基於對象屬性進行過濾的解決方案,這些對象屬性是存儲在 db.json 對象的屬性中的數組的一部分。

很簡單,但您是否嘗試過只使用/records/record/2 json-server模塊從用戶那里拿走了大部分實現,這可能會起作用,因為它被設計為一個快速的 REST API 來讓人們開始。

查看文檔頁面上的示例或查看此處運行的 API http://jsonplaceholder.typicode.com/因為它使用相同的代碼。

您必須在服務器端更改某些內容以根據請求參數過濾請求

或者只是使用javascript:

data.records.record.filter((user)=>user.userID==2)[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM