2017-06-16 23 views
0

私は以下のデータを持つjsonファイルを持っています。Jqueryでjsonファイルからデータを検索および取得する方法は?

{"student1":[{"id":1,"name":"Test Data1","email":"[email protected]"}]} 

{"student2":[{"id":2,"name":"Test Data2","email":"[email protected]"}]} 

{"student3":[{"id":3,"name":"Test Data3","email":"[email protected]"}]} 

{"student4":[{"id":4,"name":"Test Data4","email":"[email protected]"}]} 

私は$ .getJSONメソッドを使用して取得しますが、データは出力されません。私はstudent3のようなKeyでデータを検索したいと思っています。それからstudent3のデータを出力する必要があります。 ここに私のJQueryコードです。

$.getJSON("test.json", function(data) { 
      var items = []; 
      $.each(data, function(key, val) { 
      items.push("<li id='" + key + "'>" + val + "</li>"); 
      }); 

      $("<ul/>", { 
      "class": "my-new-list", 
      html: items.join("") 
      }).appendTo("body"); 
    }); 

ここに私の完全なソースコードがあります。

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <title>Test Json</title> 
    </head> 
    <body> 
    <input type="text" name="name" id="name"> 
    <input type="text" name="email" id="email"> 
    <input type="button" name="submit" id="submit" value="Submit" onclick="submitForm()"> 
    <input type="button" name="edit" id="edit" value="Edit" onclick="Edit()"> 
    <br><br> 
    <div></div> 
</body> 

<script type="text/javascript"> 
    function submitForm(){ 
    var name = $("#name").val(); 
    var email = $("#email").val(); 
    var obj = { 
     table: [] 
    }; 
    obj.table.push({id: 1, name:name, email:email}); 
    var json = JSON.stringify(obj); 
    $.ajax 
    ({ 
     type: "GET", 
     dataType : 'json', 
     url: 'save_json.php', 
     data: { data: json }, 
     success: function() {alert("Thanks!"); }, 
     failure: function() {alert("Error!");} 
    }); 
    $("#name").val(''); 
    $("#email").val(''); 
} 


    function Edit(){ 
    $.getJSON("general.json", function(data) { 

      var items = []; 
      $.each(data, function(key, val) { 
      items.push("<li id='" + key + "'>" + val + "</li>"); 
      }); 

      $("<ul/>", { 
      "class": "my-new-list", 
      html: items.join("") 
      }).appendTo("body"); 
    }); 
    } 
</script> 
</html> 
+0

、それは4違うのだろう....このコード/構文が正しくない可能性が試すことができますオブジェクト。それが入っているフォーマットのため、それを取得することはできません。単一のオブジェクトに変換して '$ .getScript()'を使うか、JSONに変更して現在のロジックを使う必要があります。 –

+0

サンプルで私を見せてもらえますか?私は騒ぎです。どうか... –

答えて

0

下記のコードを追加してください。

$(document).ready(function(){ 
    $.getJSON("test.json", function(data) { 
      var items = [];  

    $.each(data, function(key, val) { 
     $.each(val, function(key2, val2) { 
      items.push("<li id='" + key2 + "'>" +val2[0].name + "</li>"); 
     }); 
     }); 

      $("<ul/>", { 
      "class": "my-new-list", 
      html: items.join("") 
      }).appendTo("body"); 
    }); 
}); 

また、STUDENT1を削除student2だけの学生を使用して、キーを使用して値 を見つけます。

お客様のjsonデータは以下のようになります。

[{"student":[{"id":1,"name":"Shyam","email":"[email protected]"}]}, 
{"student":[{"id":1,"name":"Niraj","email":"[email protected]"}]}, 
{"student":[{"id":1,"name":"Mehul","email":"[email protected]"}]}, 
{"student":[{"id":1,"name":"Ritesh","email":"[email protected]"}]}] 

動作しない場合は教えてください。

+0

それは仕事の仲間です。ありがとう。しかし、私のjsonデータは、その仲間のようなフォーマットを追加しません。私はコードであなたを見せます。 –

+0

Ohkさんが私にコードを見せるので、正しく理解できます。 –

+0

私は上記の仲間の質問を更新しました。私を導いて助けてください。 –

0

あなたは

searchParamは何あなたがそのファイルを持っていることはJSONではありません「Student3」..

$.getJSON("test.json", function(data , searchParam) { 
       var items = []; 
var filterObj =data[searchParam]; 
if(filterObj != undefined) 
{ 
       var parsedData = Json.Parse(filterObj); 
       $.each(parsedData , function(key, val) {     
       items.push("<li id='" + key + "'>" + val + "</li>"); 
       }); 

       $("<ul/>", { 
       "class": "my-new-list", 
       html: items.join("") 
       }).appendTo("body"); 
     }); 
} 
関連する問題