0

私は json を学んでいますが、レポーターを仕事としている人を表示する必要があるときに、json データをフィルタリングすることに迷っています。

 {
"person": [
   {
       "firstName": "Clark",
       "lastName": "Gable",
       "job": "Reporter",
       "roll": 20
   },
   {
       "firstName": "Bruce",
       "lastName": "Willis",
       "job": "Playboy",
       "roll": 30
   },
   {
       "firstName": "James",
       "lastName": "Parker",
       "job": "Reporter",
       "roll": 40
   }
]
}

ページはクエリ文字列で呼び出されます別の関数の変数として job_param を使用しています

http://jsontest/person.html?job=reporter



var job_param = gup( 'job' );
alert("job selected is: " + job_param);


$(function() {
var people = [];
$.getJSON('people.json', function(data) {
   $.each(data.person, function(i, f) {
      var tblRow = "<tr>" + "<td>" + f.firstName + "</td>" +
   "<td>" + f.lastName + "</td>" + "<td>" + f.job + "</td>" + "<td>" + f.roll + "</td>" + "<td><a href=\"category.html?cat=" + f.firstName + "\">Go</a>" + "</td>" + "</tr>"
       $(tblRow).appendTo("#userdata tbody");
 });

});

});

htmlファイル

<table id= "userdata" border="2">
<thead>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Job</th>
        <th>City</th>
        <th>Go</th>
    </thead>
  <tbody>

   </tbody>
 </table>

mysql から新しい json ファイルを生成して、リストにレポーターのみを表示することもできますが、それがどのように行われるべきかはわかりません。ありがとう。

4

3 に答える 3

0

次のようなものを追加できます。

$(function() {
var people = [];
$.getJSON('people.json', function(data) {
   $.each(data.person, function(i, f) {
      if(f.job=='Reporter')
      {
      var tblRow = "<tr>" + "<td>" + f.firstName + "</td>" +
      "<td>" + f.lastName + "</td>" + "<td>" + f.job + "</td>" + "<td>" + f.roll + "</td>" + "<td><a href=\"category.html?cat=" + f.firstName + "\">Go</a>" + "</td>" + "</tr>"
       $(tblRow).appendTo("#userdata tbody");
         });
      }

    });

});
于 2013-05-05T15:09:08.683 に答える
0

最初にクエリ文字列値を取得します。

var job = GetQueryStringValue('job');

次に、json を変数と比較します。

$.each(data.person, function (key, value) {
    console.log(key + ": " + value.firstName);
    if (value.job == job) {
        // If person reporter, do this
    } else {
        // If person is not a reporter, do this
    }
});
于 2013-05-05T15:10:53.067 に答える