# json:1. 概念: j**ascript object notation j**ascript物件表示法
person p = new person();
p.setname("張三");
p.setage(23);
p.setgender("男");
var p = ;
* json現在多用於儲存和交換文字資訊的語法
* 進行資料的傳輸
* json 比 xml 更小、更快,更易解析。
2. 語法:
1. 基本規則
* 資料在名稱/值對中:json資料是由鍵值對構成的
* 鍵用引號(單雙都行)引起來,也可以不使用引號
* 值得取值型別:
1. 數字(整數或浮點數)
2. 字串(在雙引號中)
3. 邏輯值(true 或 false)
4. 陣列(在方括號中) ,{}]}
5. 物件(在花括號中) }
6. null
* 資料由逗號分隔:多個鍵值對由逗號分隔
* 花括號儲存物件:使用{}定義json 格式
* 方括號儲存陣列:
2. 獲取資料:
1. json物件.鍵名
2. json物件["鍵名"]
3. 陣列物件[索引]
4. 遍歷
//1.定義基本格式
var person = ;
var ps = [,,];
//獲取person物件中所有的鍵和值
//for in 迴圈
/* for(var key in person)*/
//獲取ps中的所有值
for (var i = 0; i
<
ps.length; i++)
}3. json資料和j**a物件的相互轉換
* json解析器:
* 常見的解析器:jsonlib,gson,fastjson,jackson
1. json轉為j**a物件
1. 匯入jackson的相關jar包
1. readvalue(json字串資料,class)
2. j**a物件轉換json
1. 使用步驟:
1. 匯入jackson的相關jar包
1. 轉換方法:
* writevalue(引數1,obj):
引數1:
file:將obj物件轉換為json字串,並儲存到指定的檔案中
writer:將obj物件轉換為json字串,並將json資料填充到字元輸出流中
outputstream:將obj物件轉換為json字串,並將json資料填充到位元組輸出流中
* writevalueasstring(obj):將物件轉為json字串
2. 註解:
1. @jsonignore:排除屬性。
2. @jsonformat:屬性值得格式化
* @jsonformat(pattern
= "yyyy-mm-dd"
)3. 複雜j**a物件轉換
1. list:陣列
2. map:物件格式一致
# 案例:
* 校驗使用者名稱是否存在
1. 伺服器響應的資料,在客戶端使用時,要想當做json資料格式使用。有兩種解決方案:
1. $.get(type):將最後乙個引數type指定為"json"
2. 在伺服器端設定mime型別
=utf-8");
JSON資料解析 jsoncpp的使用
由於工作中需要用到json資料,所以解析json資料就成了乙個非常重要的工作內容。其實用c 解析資料是很繁雜的任務,涉及到很多的資料處理和資料安全問題。好在網上提供了很多的json解析庫,其中不乏很優秀的,出於效率,還是使用這些第三方的庫比較好。我使用的是jsoncpp,這是乙個開源的c 的json...
使用Gson解析json資料
使用gson解析json資料,非常方便,要細心的配置實體類model。比如json字串為 currentpage 1,allnum 30042,maxresult 20 照上面的json資料,model實體類為 public class joke public void setallpages st...
使用js解析json資料
var json 方式一 使用eval解析 var obj eval json alert obj.constructor alert obj.contry.area.women 方式二 使用funtion函式 var strjson 得到的json var obj new function ret...