json是用來存儲簡單的數據結構和對象的文件json是一種輕量級的數據交換格式,基於ECMAScript歐洲計算機協會制定的js規范的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據,用於許多Web應用程序來進行數據交換。
打開json格式的文件的具體操作步驟如下1首先在電腦的桌面上使用滑鼠右鍵單擊要進行打開的「json」格式的文件,然後在彈出的選項框內點擊「打開方式」選項2接著就會彈出一個對話框,在此對話框內點擊「記事本」。
JSONjavaScript Object Notation, JS 對象簡譜 是一種輕量級的數據交換格式它基於 ECMAScript 歐洲計算機協會制定的js規范的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據簡潔和清晰的層次結構使得 JSON。
XML也是一種數據交換格式,為什麼沒有選擇XML呢因為XML雖然可以作為跨平台的數據交換格式,但是在JSJavaScript的簡寫中處理XML非常不方便,同時XML標記比數據多,增加了交換產生的流量,而JSON沒有附加的任何標記,在JS中可。
㈡ 怎麼用jsp生成json格式數據,然後用js又怎樣讀取其數據
用jsp生成json要經過一下步驟:
1、瀏覽器請求服務端某個頁面
2、服務端頁面(jsp/php/asp等)生成頁面數據(html/css/js/json等)
3、瀏覽器顯示頁面內容,執行頁面腳本
jsp生成數據示例如下:
// 例子使用fastjson
List<String> names = new LinkedList<String>(); // 任意Collection都可以
names.add("張三");
names.add("李四");
JSONObject value= new JSONObject();
value.put("names", names); // 這樣就放了一個數組了
value.put("id", "123456"); // 放一個字元串
System.out.println(value.toJSONString());//
js解析json數據示例如下:
// 解析json數據
// 如果jsong數據是一個字元串
var myjson=eval("("+myjsonstring+")")
alert(myjson.id)
alert(myjson.names.length)
㈢ js怎麼讀取後台傳回來的json格式的數據
json對象的抄話,襲直接遍歷獲取就好了:
$.post(url,{},function(json){
$.each(json,function(i){
console.log(json[i].name);
});
});
㈣ js 讀取 json文件
如果要使用js讀取json文件,那麼ajax操作是必須的了。原生ajax有點麻煩,我想你們項目一定用了什麼js庫,這里給個jquery的例子:
$.get('xx.json路徑',function(data){
alert(data);//data即為json文件內容里的json數據
},'json');
如果把這個文件的內容讀取為純文本,可以修改$.get的最後一個參數json為text,或者刪掉這個參數,默認也是text。
㈤ js中獲取的json數據怎麼展現在jsp頁面上
有兩種方法,一種是$.ajax(option)方法,一種是$.getJSON()方法。
實例:
一、數據集所在jsp頁面out.jsp,代碼如下
<%@page contentType="text/plain; charset=UTF-8"
language="java"
import="java.io.*,java.net.*,java.util.*"
buffer="8kb"
session="false"
autoFlush="true"
%>
<%
String jsonData="{data:[{id:200901,name:'name1'},{id:200902,name:'name2'},{id:200903,name:'姓名3'},{id:200904,name:'姓名4'},{id:200905,name:'姓名5'}]}";
//out.clear();
out.write(jsonData);
%>
二、js處理頁面
(1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" language="javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function getOut(){
var s='';
$.ajax({
type:'get',//請求方式
url:'out.jsp?id='+Math.random(), // AJAX HTTP請求介面
data:'',//提交到伺服器介面的參數 比如'{cid:0405}',結果為out.jsp?cid=0405格式
dataType:'json',//請求類型為json, 更多見jquery doc文檔
timeout:7000,//請求超時後停止請求
success: function(json){
var d=json.data;
$.each(d,function(i){
s+=('<p>id:'+d[i].id +' | name:'+d[i].name+'</p><hr/>');
});
$('#out').html(s);}});
}
</script>
</head>
<body style="margin:20px;text-align:center;background:#E5E5E5;">
<input type="text" name="getdata" onclick="getOut()"/>
<div id="out">
</div>
</body>
</html>
(2)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<head>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script>
function showStudent(){
var s='';
$.getJSON("out.jsp?id="+Math.random(),function(json){
var d=json.data;
for(var i=0;i<d.length;i++){
s+=('<p>id:'+d[i].id +' | name:'+d[i].name+'</p><hr/>');
}
$('#content').html(s);
});
}
</script>
</head>
<body>
<input type="button" value="獲取學院信息" onclick="showStudent()" />
<div id="content"></div>
</body>
</html>
總結:
(1)有時候總是出現錯誤,原因在於——json數據格式有問題,前端$.getJSON()方法並沒有什麼錯誤。
(2)相對來說,$ajax(option)方法使用比較靈活,可以用在比較復雜的情況。