我有一個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>
你必須在該文件的不是JSON,它是4個不同的對象。由於它的格式,你無法檢索它。您需要將其轉換爲單個對象並使用'。.getScript()',或將其更改爲JSON並使用您當前的邏輯。 –
你能帶我看樣品嗎?我是小白。請... –