首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Api平台- Hydra -访问hydra:使用javascript的成员

Api平台- Hydra -访问hydra:使用javascript的成员
EN

Stack Overflow用户
提问于 2018-01-04 23:53:26
回答 3查看 6.1K关注 0票数 2

我遇到了一些我无法解决的问题。我需要用javascript打印出响应对象,但我不知道该怎么做。我有响应like.this:

代码语言:javascript
复制
{
  "@context": "/contexts/Client",
  "@id": "/clients",
  "@type": "hydra:Collection",
  "hydra:member": [
    {
      "@id": "/clients/1",
      "@type": "Client",
      "uuid": "e3rer445",
      "number": " 0483",
      "name": "Tom Beringer",
      "adresses": [
      {
          "@id": "/client_addresses/1",
          "@type": "http://schema.org/Thing",
          "address": {
              "@id": "/addresses/1",
              "@type": "http://schema.org/Thing",
              "address": "Postbus 1d425"
          }
      },
  ]
},

现在我需要打印出所有客户端详细信息的结果,所以当我这样做时:

代码语言:javascript
复制
axios.get('/clients')
      .then(res => {
      this.users = res.data['hydra:member']
  })

我成功地打印出了姓名、号码,但当我尝试打印地址时,结果是get.this:

代码语言:javascript
复制
<td><span>[
  {
    "@id": "/client_addresses/3",
    "@type": "http://schema.org/Thing",
        "address": {
        "@id": "/addresses/3",
        "@type": "http://schema.org/Thing",
        "address": "niet meer gebruiken"
     }
  } 
</span></td>

但我需要的是just.this地址: niet meer gebruiken,这是可能的吗?

EN

回答 3

Stack Overflow用户

发布于 2018-03-31 01:58:16

是的,这是可能的。

试试这个:

代码语言:javascript
复制
res.data['hydra:member'][0]['adresses'][0]['address']['address']

代码语言:javascript
复制
res.data['hydra:member'][0]['adresses'][0].address.address

如果您只嵌套了一个address对象,这将很好地工作。如果你里面有更多的对象,你应该遍历地址数组。

这将是/包含您的地址数组:

代码语言:javascript
复制
 res.data['hydra:member'][0]['adresses']
票数 3
EN

Stack Overflow用户

发布于 2018-02-16 01:14:24

您是否尝试过像这样访问该属性?

代码语言:javascript
复制
res.data['hydra:member']['addresses][0]['address']['address']

如果addresses数组中嵌套了多个address对象,则可能需要遍历它。

票数 1
EN

Stack Overflow用户

发布于 2020-09-01 00:07:38

只需添加一个默认配置即可。

./main.js

代码语言:javascript
复制
axios.defaults.headers.common['Accept'] = 'application/json';
axios.defaults.headers.put['Content-Type'] = 'application/json';
axios.defaults.headers.get['Content-Type'] = 'application/json';
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers.delete['Content-Type'] = 'application/json';
Vue.prototype.$http = axios;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48098897

复制
相关文章

相似问题

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