Jayrock是一个LGPL的开源的软件,实现了JSON和JSON-RPC,支持微软ASP.NET框架。
JSON+Jayrock+ASP.NET Quick Start :http://jayrock.berlios.de/#quick-start
JavaScript 和 .NET 中的 JavaScript Object Notation (JSON) 简介
特点:
简单格式化的数据交换
2、易于人们的读写习惯
3、易于机器的分析和运行
4、JavaScript中使用eval()方法可以很方便的读取 JSON数据
5、JSON支持的语言ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.
语法分析:
JSON可以用于封装数据,它是一种类似于C语言家族的语言,所以能很容易被C语言家族的语言分析
1、对象object包含在一对{}中,如:
2、对象的属性member使用[string : value]成对的表示,属性与属性之间用逗号隔开,如:
string : value , string : value
3、数组array包含在一对中,如:
[ elements ]
4、元素elements与元素之间用逗号隔开
elements , elements
5、元素值可具有的类型:
string, number, object, array, true, false, null
例子:
JSON
{\"menu\": {
\"id\": \"file\",
\"value\": \"File:\",
\"popup\": {
\"menuitem\": [
{\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},
{\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},
{\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}
]
}
}}
XML
<menu id=\"file\" value=\"File\" >
<popup>
<menuitem value=\"New\" onclick=\"CreateNewDoc()\" />
<menuitem value=\"Open\" onclick=\"OpenDoc()\" />
<menuitem value=\"Close\" onclick=\"CloseDoc()\" />
</popup>
</menu>
JSON VS XML
·可读性
JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
·可扩展性
XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
·编码难度
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
·解码难度
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
·流行度
XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous JavaScript and JSON)了。