json的一点总结
json一般用在少量的数据处理。因为格式简单,操作方便,而且javascript本事就支持json格式的处理功能。所以建议大家使用
json一般格式如下:{"id":"1","name":"abc"}或者[{"id":"1","name":"abc"},{"id":"1","name":"abc"}]
下面是js中几种解释json格式的方法:
1,eval('('+json+')')
为什么这样写:主要是因为在JavaScript中,表达式语句不允许以左花括号”{“开始,如果这样做,会与块语句产生混淆.在使用eval()解析JSON文本时,为了解决这个问题,就需要加上圆括号.圆括号作为分组运算符,可以对包围在其中的表达式求职.
2,var strJSON= (new Function("return " + json))();
通过创建方法的方式解释json
3,var strJSON= JSON.parse(json);
注意:这种方法能够解释的json格式必须键值对都要加双引号,不然解释不了json格式
实例
json.aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="json.aspx.cs" Inherits="web.javascript.json.json" %>
<!DOCTYPE html>
< html xmlns = " http://HdhCmsTestw3.org/1999/xhtml " >
< head runat = "server" >
< title ></ title >
</ head >
< body >
< form id = "form1" runat = "server" >
< div id = "div1" >
</ div >
< input type = "button" id = "btn" value = "but" />
</ form >
< script type = "text/javascript" src = " http://HdhCmsTestcnblogs测试数据/script/jquery-1.7.1.min.js " ></ script >
< script type = "text/javascript" >
// 异步处理json对象
$("#btn").click(function() {
$.ajax({
url: "json.ashx",
type: "post",
data: { id: "123" },
datatype: "json",
success: function(data) {
var strData = data;
alert("1-----------");
var str1 = eval("(" + data + ")"); // 第一种js解释json
alert("2-----------");
var str2 = (new Function("return " + strData))(); // 第二种js解释json
alert(str2.id + " @ " + str2.name);
alert("3-----------");
var str3 = JSON.parse(strData);
alert(str3.id + " @ " + str3.name);
// 处理多维json
var strSs = "";
alert(str1.length);
for (var i = 0; i < str1.length ; ++i) {
strSs += str1[i].id + "@" + str1[i].name + "\n";
}
alert(strSs);
},
error: function(xhr, data, ts) {
alert(data);
}
});
});
</script>
</ body >
</ html >
json.ashx处理程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace web.javascript.json
{
/// <summary>
/// $codebehindclassname$ 的摘要说明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class json1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain" ;
// 多维
string strJSONs = "[{\"id\":1,\"name\":\"11\"},{\"id\":2,\"name\":\"22\"},{\"id\":3,\"name\":\"33\"}]" ;
// 一维
//string strJSONs={\"id\":\"123\",\"name\":\"qwe\"}
context.Response.Write(strJSONs);
context.Response.End();
}
public bool IsReusable
{
get
{
return false ;
}
}
}
}
以上是本人在实际项目中的总结,希望对大家有帮助,同时也希望大家多多指点。
03 2012 档案
关于json的一点总结
摘要: json一般用在少量的数据处理。因为格式简单,操作方便,而且javascript本事就支持json格式的处理功能。所以建议大家使用json一般格式如下:{"id":"1","name":"abc"}或者[{"id":"1","name":"abc"},{"id":"1","name":"abc"}]下面是js中几种解释json格式的方法: 1,eval(&# 阅读全文
posted @ 2012-03-26 20:52 雨蛇竹子 阅读(934) | 评论 (4) 编辑
为什么要开通博客
摘要: 为什么要开通博客一直以来就想来写点什么,但是不知道些什么或从何写起。有时候我在想,生活应该对一点除了工作之外的一些事情,不如周末去旅游,打打球,散散步之类的或者和朋友打打牌、吃点火锅...但,时间是一天天的过来,而我的生活好像整天都埋在了程序里面,整天想它,学习...可是我并不觉得自己因此而获得了一点的收获。我现在是一个程序员,也许某一天不是...正如我的人生道路一样,在我没有遇见就发生了一些事情。就写这么多了。希望每个人都有灿烂的生活。 阅读全文
posted @ 2012-03-24 21:26 雨蛇竹子 阅读(4) | 评论 (0) 编辑
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息