首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从API解析JSON

如何从API解析JSON
EN

Stack Overflow用户
提问于 2021-01-03 08:21:27
回答 1查看 22关注 0票数 0

好了,我已经创建了一个接口,Postman中的http://localhost/lsapp4/public/api/articles的输出如下:

代码语言:javascript
复制
{
"data": [
    {
        "id": 1,
        "title": "Demo Article-1",
        "body": "Happy Holidays1"
    },
    {
        "id": 2,
        "title": "Demo Article-2",
        "body": "Happy Holidays2"
    },
    {
        "id": 3,
        "title": "Demo Article-3",
        "body": "Happy Holidays3"
    }
],
"links": {
    "first": "http://lsapp4.test/api/articles?page=1",
    "last": "http://lsapp4.test/api/articles?page=2",
    "prev": null,
    "next": "http://lsapp4.test/api/articles?page=2"
},
"meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 2,
    "path": "http://lsapp4.test/api/articles",
    "per_page": 3,
    "to": 3,
    "total": 4
}

}

如何迭代地解析标题和正文?我试着这样做:

代码语言:javascript
复制
$.getJSON("http://localhost/lsapp4/public/api/articles",function(regen){
    var i=0;
    $.each(regen,function(index,item)
    {
        alert(item[i].title);
        i=i+1;
    });
});

但它并没有起作用。

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-03 09:00:48

您的API将返回一个对象,该对象在名为data的字段中包含一个数组。您需要在此数据字段上执行$.each。您也不需要在调用item.title时引用i。参见下面的示例代码:

代码语言:javascript
复制
var regen = {
  "data": [{
      "id": 1,
      "title": "Demo Article-1",
      "body": "Happy Holidays1"
    },
    {
      "id": 2,
      "title": "Demo Article-2",
      "body": "Happy Holidays2"
    },
    {
      "id": 3,
      "title": "Demo Article-3",
      "body": "Happy Holidays3"
    }
  ],
  "links": {
    "first": "http://lsapp4.test/api/articles?page=1",
    "last": "http://lsapp4.test/api/articles?page=2",
    "prev": null,
    "next": "http://lsapp4.test/api/articles?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 2,
    "path": "http://lsapp4.test/api/articles",
    "per_page": 3,
    "to": 3,
    "total": 4
  }
}

// Omitted $.getJSON for testing and demo purposes.
// Corrected code is also below. 
$.each(regen.data, function(index, item) {
  alert(item.title);
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

已更正$.getJSON调用:

代码语言:javascript
复制
$.getJSON("http://localhost/lsapp4/public/api/articles",function(regen){
    $.each(regen.data, function(index,item)
    {
        alert(item.title);
    });
});
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65545486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档