客户端结合javascript调用JSON的例子
2010-08-28 12:35
471 查看
前面我已经介绍过what is json,下面我通过实例来学习在客户端结合javascript调用JSON的例子.
首先在JSON官方网站提供的一个开源的JSON解析器和字符串转换器:json.js.
根据json.js解释文档可以知道:
array.toJSONString(whitelist)
boolean.toJSONString()
date.toJSONString()
number.toJSONString()
object.toJSONString(whitelist)
string.toJSONString()
上面6个函数可以产出json文本,这不必包括任何周期性参数,非法值会被排除.date的缺省转换是一个ISO字符串.你能够添加toJSONString()函数到任何date对象来获得不同的呈现.object和array函数包含whitelist参数选项,whitelist是一个字符串数组,如果它被提供的话,那么在whitelist中没有找到在Objects的keys会被排除.
string.parseJSON(filter)这个函数解释json文本来产生对象和数组,它能够抛出语法错误的异常.选项filter参数具有过滤和转换结果的功能,它能够接受每一个键和值,它能够返回被使用的值代替原来的值.如果它返回接收的东西,那么结构会被修改,如果返回undefined(未定义)的话,则成员会被删除.
例子:
//解释文本,如果键包含字符串为'date',那么转换该值为日期.
myData = text.parseJSON(function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value;
});
下面是一个将数组转换为对应json串的例子:
//事先包含json.js
function toJSONExample(){
var jNBtn=document.getElementById("jN");
jNBtn.onclick=function(){
var continents=new Array();
continents.push("Europe");//添加元素到数组
continents.push("Asia");
continents.push("Australia");
continents.push("Antarctica");
continents.push("North America");
continents.push("South America");
continents.push("Africa");
alert("continents数组的JSON呈现是: " +
continents.toJSONString());
}
}
结果:
["Europe","Asia","Australia","Antarctica","North America","South America","Africa"]
下面是一个将原来生成的json串转换成数组,在这里需要一个eval函数来解释json串,eval函数用来接收一个校验javascript代码的输入字符串,以下的代码经常需要将json文本转换为原来的面貌.
var value = eval( "(" + jsonText + ")" );
例子:
function toPaseJSONExample(){
var jNBtn=document.getElementById("jN");
jNBtn.onclick=function(){
var ArrayAsJSONText='["Europe","Asia","Australia","Antarctica","North America","South America","Africa"]';
var continents=eval(ArrayAsJSONText);//校验ArrayAsJSONText数组
var continents = ArrayAsJSONText.parseJSON();
document.getElementById("jsonRespose").innerHTML=continents;
}
}
结果:
Europe,Asia,Australia,Antarctica,North America,South America,Africa
总结:
在这里,我只是简单的介绍了JSON在客户端的应用,toJSONString()以及parseJSON()的使用方法.
首先在JSON官方网站提供的一个开源的JSON解析器和字符串转换器:json.js.
根据json.js解释文档可以知道:
array.toJSONString(whitelist)
boolean.toJSONString()
date.toJSONString()
number.toJSONString()
object.toJSONString(whitelist)
string.toJSONString()
上面6个函数可以产出json文本,这不必包括任何周期性参数,非法值会被排除.date的缺省转换是一个ISO字符串.你能够添加toJSONString()函数到任何date对象来获得不同的呈现.object和array函数包含whitelist参数选项,whitelist是一个字符串数组,如果它被提供的话,那么在whitelist中没有找到在Objects的keys会被排除.
string.parseJSON(filter)这个函数解释json文本来产生对象和数组,它能够抛出语法错误的异常.选项filter参数具有过滤和转换结果的功能,它能够接受每一个键和值,它能够返回被使用的值代替原来的值.如果它返回接收的东西,那么结构会被修改,如果返回undefined(未定义)的话,则成员会被删除.
例子:
//解释文本,如果键包含字符串为'date',那么转换该值为日期.
myData = text.parseJSON(function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value;
});
下面是一个将数组转换为对应json串的例子:
//事先包含json.js
function toJSONExample(){
var jNBtn=document.getElementById("jN");
jNBtn.onclick=function(){
var continents=new Array();
continents.push("Europe");//添加元素到数组
continents.push("Asia");
continents.push("Australia");
continents.push("Antarctica");
continents.push("North America");
continents.push("South America");
continents.push("Africa");
alert("continents数组的JSON呈现是: " +
continents.toJSONString());
}
}
结果:
["Europe","Asia","Australia","Antarctica","North America","South America","Africa"]
下面是一个将原来生成的json串转换成数组,在这里需要一个eval函数来解释json串,eval函数用来接收一个校验javascript代码的输入字符串,以下的代码经常需要将json文本转换为原来的面貌.
var value = eval( "(" + jsonText + ")" );
例子:
function toPaseJSONExample(){
var jNBtn=document.getElementById("jN");
jNBtn.onclick=function(){
var ArrayAsJSONText='["Europe","Asia","Australia","Antarctica","North America","South America","Africa"]';
var continents=eval(ArrayAsJSONText);//校验ArrayAsJSONText数组
var continents = ArrayAsJSONText.parseJSON();
document.getElementById("jsonRespose").innerHTML=continents;
}
}
结果:
Europe,Asia,Australia,Antarctica,North America,South America,Africa
总结:
在这里,我只是简单的介绍了JSON在客户端的应用,toJSONString()以及parseJSON()的使用方法.
相关文章推荐
- 客户端结合javascript调用JSON的例子
- 使用XMLHttpRequest结合struts2实现Ajax异步调用的例子+json插件
- Javascript中调用url 取到action中的Json数据
- JavaScript 解析json例子
- 用javascript玩json的一个例子
- 程序中,调用Bison和Flex结合的小例子(类似完成语法树)
- [总结]客户端JavaScript读取Xml文档的例子!
- 【javascript】最简洁的TreeView、“蛮力跨域”、Jsonp协议、局部运算以及仿客户端的Web视频应用例子(含下载)
- Android java 与 javascript互访(相互调用)的方法例子
- php跨域调用json的例子
- WebService例子1,JavaScript调用WebService
- Javascript调用JSOn数据失败
- SilverLight企业应用框架设计【五】客户端调用服务端(使用JSON传递数据,自己实现RESTful Web服务)
- javascript 调用webservice的一个例子
- 通过javascript调用Applet程序对客户端文件系统进行操作
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- Javascript调用C#后台方法及JSon解析
- javascript 使用VBArray (JS调用VBS的例子)
- Dwr框架在客户端远程调用方法返回自定义类型的例子
- JS中eval工作原理和json格式(eval+json两者结合应用)2011-07-05 22:39--本文讲解一下javascript中eval与json的应用问题。