导读: 浏览器是如何解析json的(共3篇)JSON的使用原理,不过是浏览器给我们IT民工的标准而已服务器端:public static void main(String[] args) {Map dataBaseData = new HashMap(0);...
以下是中国招生考试网www.chinazhaokao.com为大家整理的《浏览器是如何解析json的》,希望大家能够喜欢!更多资源请搜索成考报名频道与你分享!
JSON的使用原理,不过是浏览器给我们IT民工的标准而已
浏览器是如何解析json的 第一篇
服务器端:
public static void main(String[] args) {
Map<Object, Object> dataBaseData = new HashMap<Object, Object>(0); dataBaseData.put("beijing" , "北京"); dataBaseData.put("shanghai", "上海"); dataBaseData.put("wuhan" , "武汉"); StringBuffer jsonData = new StringBuffer(); // 字符流对象 jsonData.append("{"); if (dataBaseData.size() > 0) { } jsonData.deleteCharAt(jsonData.lastIndexOf(",")); if (dataBaseData.size() > 0) { } jsonData.append("}"); jsonData.append("]"); jsonData.append("root:["); Iterator<Entry<Object, Object>> iter = } .iterator(); // 数据库的数据 // 拼接JSON字符流开始 dataBaseData.entrySet() while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); jsonData.append("{"); jsonData.append("wcKey:'" + key + "', wcValue:'" + val + jsonData.append("},"); "'");
// 拼接JSON字符流结束
System.out.println(jsonData.toString()); //
浏览器端:
/* JSP 页面解析将 jsonData 字符串报文解析出来的代码 for(var i=0;i<jsonData.root.length;i++){
} jsonData.root[i].wcKey,httpObj.root[i].wcValue } */
能通讯的原因是:浏览器的通讯标准给了我们编程者一个对象“XMLHttpRequest”,我们需要手动创建他,代码如下:
WEB服务器能够发送json字符的函数,都是J2EE官方包中给我们的函数,如下是我自己的工具类:
/**
* ajax 共通调用
* @author wuchong
* @version $Revision: 1.0 $, $Date: 2012-8-15 下午03:57:05 $
*/
public class AjaxUtil {
/**
* 设置字符编码
*/
public static final void setContentType(HttpServletResponse response) {
// ContentType
response.setContentType("text/html; charset=UTF-8");
// no-cache
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
}
/**
* 页面传值的字符集编码格式转换
* @param String urlVal 页面传值
* @return String 转换后的字符集
*/
public static final String urlDecode(String urlVal) throws Exception {
if (!StringUtils.isEmpty(urlVal)) {
return URLDecoder.decode(urlVal, "UTF-8");
}
return urlVal;
}
/**
* AJAX异步通信参数取得
* @param String[] array 页面传入的参数
*/
public static final String[] getParameters(HttpServletRequest request)
throws Exception {
String[] array = request.getParameterValues("parameters");// /** if (array == null || array.length < 1) {
return null;
}
int len = array.length;
String[] newArray = new String[len];
System.arraycopy(array, 0, newArray, 0, len);
for (int i = 0; i < len; i++) {
// 字符集编码格式转换
newArray[i] = urlDecode(newArray[i].trim());
}
return newArray;
}
/**
* 字符流写入
* @param String 字符流
*/
public static final void write(HttpServletResponse response, String jsonData) {
try {
response.getWriter().write(jsonData);
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* String str 是否为空
* @param str
* @return
*/
public final static boolean isNotEmpty(String str){
return !(str==null||str.trim().length()<1);
}
public final static String null2Space(String str){
return str==null?"":str; }
}
java中解析json的三种方式
浏览器是如何解析json的 第二篇
//第一种
public void jsonTx() {
String json = "{'status':200,'message':'查询成功','data':[{'id':1,'name':'name1','describe':'
第一条数据'}]}";
JSONObject data = new JSONObject(json);
int status = data.optInt("status");
JSONArray data1 = data.getJSONArray("data");
if (status==200) {
for(int i=0;i<data1.length();i++){
String s = data1.getString(i);
System.out.println(s);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("id"));
System.out.println(data2.getString("name"));
System.out.println(data2.getString("describe"));
}
}else if(status==500) {
String msg = data.getString("message");【浏览器是如何解析json的】
System.out.println(msg);
}
}
//第二种
public void getJson() {
String json =
"{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";
JSONObject jsonObject = JSONObject.fromObject(json);
String status = jsonObject.getString("status");
// System.out.println(str);
String response = jsonObject.getString("response");
JSONObject jsonObject2 = JSONObject.fromObject(response);
JSONArray data = jsonObject2.getJSONArray("data");
for(int i=0;i<data.length();i++){
String s = data.getString(i);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("address"));
System.out.println(data2.getString("province"));
System.out.println(data2.getString("district"));
System.out.println(data2.getString("city"));
}
}
//第三种(只获取json里面数据)【浏览器是如何解析json的】
public static void main(String[] args) {
String json =
"{\"response\":{\"data\":[{\"address\":\"北京\",\"province\":\"海淀\",\"district\":\"三环\",\"city\":\"桥\"}]},\"status\":\"ok\"}";
String str[] =
json.replaceAll(".*\"address\":\"(.*?)\".*\"province\":\"(.*?)\",.*\"district\":\"(.*?)\",.*\"city\":\"(.*?)\".*",
"$2,$4,$3,$1").split(",");
for (String s : str) {
System.out.println(s);
}
}
JS解析JSON数据及取值的用法
浏览器是如何解析json的 第三篇
JS解析JSON数据及取值的一些用法
<%@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>JS解析JSON数据</title>
</head>
<body style="margin:50px">
<center><h1><b>JS解析JSON数据测试界面</b></h1></center>
<script language="javascript">
//将JSON字符串转换为JSON对象的一些方法
//将JSON字符串转换为JSON对象的一些用法
(function (){
var str = {"name":"张三","age":20};//JSON对象
alert(str.name);alert(str.age);//直接取JSON对象的值
//将JSON字符串转换为JSON对象
var str = "{\"name\":\"张三\",\"age\":\"21\"}";//JSON字符串 转义不用系统/和dos一致用\
var obj = eval('(' + str + ')');//使用eval函数将JSON字符串转换为JSON对象 alert(obj.name);alert(obj.age);【浏览器是如何解析json的】
var str = '{"name":"张三","age":22}';//JSON字符串
var obj = (new Function("return " + str))(); //使用new Function()形式将JSON字符串转换为JSON对象
alert(obj.name);alert(obj.age);
//将JSON对象转换为JSON字符串
//var straa = {"name":"李四","age":"20"};//JSON对象
//var newJSONtext = straa.toJSONString();//貌似没有原生方法
//alert("JSON对象转换为JSON字符串: "+newJSONtext);
})();//(function (){})();自动执行匿名函数
</script>
<script>
//取值的一些用法
//取值的一些用法
function showJSON() {
//效果一
var user =
{
"username":"andy",
"age":20,
"info": { "tel": "123456", "cellphone": "98765"},
"address":
[
{"city":"beijing","postcode":"222333"},
{"city":"newyork","postcode":"555666"}
]
}
alert(user.username);
alert(user.age);
alert(user.info.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
user.username = "Tom";
alert(user.username);
//效果二
var people =
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } ],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ]
}
alert(people.programmers[0].firstName+" "+people.programmers[0].email); alert(people.programmers[2].firstName+" "+people.programmers[2].email);
alert(people.authors[0].firstName+" "+people.authors[0].genre);
alert(people.musicians[1].firstName+" "+people.musicians[1].instrument);
}
showJSON();
</script>
</body>
</html>
<script type="text/javascript">
function mm()
{
var str = "";
for (mm in window.event.srcElement)
str += mm+"="+ window.event.srcElement[mm] +"\n"; //得到 srcElement 的所有属性
alert(str);
}
</script>
以上就是中国招生考试网http://www.chinazhaokao.com/带给大家的精彩成考报名资源。想要了解更多《浏览器是如何解析json的》的朋友可以持续关注中国招生考试网,我们将会为你奉上最全最新鲜的成考报名内容哦! 中国招生考试网,因你而精彩。
最新推荐成考报名
更多- 歇后语_歇后语大全_歇后语大全及答案_爆笑歇后语
- 大学排名_大学排名2018排行_大学查询_中国大学名单
- 成语大全_四字成语_在线成语词典_成语查询
- 成语接龙大全查询,成语接龙游戏,在线成语接龙
- 全国安全教育平台入口_学校安全教育平台
- 社保查询网-社会保障卡查询,社会保险查询,社保网上查询
- 汉字简体繁体转换_在线繁体字转换工具
- 数字大写转换|人民币金额(数字)大小写转换在线工具
- 年龄计算器实际岁数计算器 - 周岁虚岁计算器
- 产假计算器-算产假计算器在线2018-2018年产假自动计算器
- 预产期计算器-怀孕孕期计算器-怀孕天数计算
- 中国文库网-教育资源网-范文文章
- 邮编区号查询网
- 致富商机网-致富点子_创业项目
- 创业项目网--最热门的投资项目
- 中国邮政邮编查询号码
- 电话区号查询
- 全国车牌号归属地大全
- 在线网速测试|宽带速度测试
- 人民币汇率查询
- ●理财有没有风险 金融互联网理财
- ●qq网名
- ●2016最新伤感说说
- ●谈笑风生造句
- ●读书的名言
- ●资产清查报告
- ●贫困户申请书
- ●财务自查报告
- ●离婚起诉书
- ●赞美老师的演讲稿
- ●车间管理
- ●车辆购置税
- ●跨越百年的美丽读后感
- ●跟女友离别的话
- ●超市管理制度
- ●起诉状范本
- ●赠别诗大全
- ●描写夏天的句子
- ●描写友谊的诗句
- ●迁户口申请书
- ●转正申请表范本
- ●这个杀手不太冷台词
- ●运动会稿子精选
- ●那么那么造句
- ●送给男朋友的情话大全
- ●钳工实训报告
- ●霸气说说大全
- ●骂人不带脏字的
- ●幼儿园见习个人总结
- ●追女孩子的短信