从Polymer中的json文件中获取数据

时间:2016-05-06 10:12:04

标签: json polymer polymer-1.0 polymer-starter-kit

我有一个类似下面的json文件

{ 
   "23": {
      "id": 23,
      "featured": true,
      "name": "Dawid Ostrowski",
      "title": "Developer Relations Program Manager",
      "company": "Google",
      "country": "Switzerland",
      "photoUrl": "/images/people/dawid_ostrowski.jpg",            
   },
   "9": {
      "id": 9,
      "featured": true,
      "name": "Mandy Waite",
      "title": "Developer Relations Engineer",
      "company": "Google",
      "country": "UK",  
   },
   "15": {
      "id": 15,
      "featured": true,
      "name": "Jakub Škvára",
      "title": "Frontend engineer",
      "company": "Shipito",
      "country": "Czech Republic",
      "photoUrl": "/images/people/jakub_skvara.jpg",   
   },
   "14": {
      "id": 14,
      "name": "Jana Moudrá",
      "title": "Co-Founder",
      "company": "Juicymo",
      "country": "Czech Republic",
      "photoUrl": "/images/people/jana_moudra.jpg"
   }
}

我想获取Polymer中特定id的所有数据。 就像有人访问example.com/user/23一样,我想获取23的数据,这样我就可以使用数据显示一个页面。

我如何在聚合物中做到这一点?

1 个答案:

答案 0 :(得分:0)

假设您只有一个静态.json文件,而不是根据查询参数选择性返回JSON字符串的API,您可以执行以下操作。

在Polymer元素上实现以下方法:

getEntryById: function (id) {
    return this.queryResult[id];
}

使用Polymer的iron-ajax元素并将此元素的lastResponse属性绑定到新元素上的queryResult,将requestUrl属性绑定到位置的getEntryById你的.json文件。

当然,您需要某种客户端路由器(如Page.js,包含在Polymer Starter Kit中),它从URL读取路由和路由参数(用户ID)并将其传递给Polymer元素,因此您可以适当地调用my $input_file = 'text.txt'; my (@file_content, @sorted); open(FD, "<", "$input_file") or die "Could not open file '$input_file' $!"; @file_content = <FD>; close (FD); @sorted = sort { $a <=> $b } @file_content; 函数。