关于Json的一点总结

开发 前端
我们会经常用到Json来处理少量的数据。因为格式简单,操作方便,而且Javascript本事就支持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文本时,为了解决这个问题,就需要加上圆括号.圆括号作为分组运算符,可以对包围在其中的表达式求职.

  1. var strJSON= (new Function("return " + Json))(); 

  通过创建方法的方式解释Json

  1. var strJSON= JSON.parse(Json); 

  注意:这种方法能够解释的Json格式必须键值对都要加双引号,不然解释不了Json格式

  实例

  Json.aspx页面

  1.   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Json.aspx.cs" Inherits="web.javascript.Json.Json" %>  
  2.   <!DOCTYPE html>  
  3.   <html xmlns="http://www.w3.org/1999/xhtml">  
  4.   <head runat="server">  
  5.   <title></title>  
  6.   </head>  
  7.   <body>  
  8.   <form id="form1" runat="server">  
  9.   <div id="div1">  
  10.   </div>  
  11.   <input type="button" id="btn" value="but" />  
  12.   </form>  
  13.   <script type="text/javascript" src="http://www.cnblogs.com/script/jquery-1.7.1.min.js"></script>  
  14.   <script type="text/javascript">  
  15.   // 异步处理Json对象  
  16.   $("#btn").click(function() {  
  17.   $.ajax({  
  18.   url: "Json.ashx",  
  19.   type: "post",  
  20.   data: { id: "123" },  
  21.   datatype: "Json",  
  22.   success: function(data) {  
  23.   var strData = data;  
  24.   alert("1-----------");  
  25.   var str1 = eval("(" + data + ")"); // ***种js解释Json  
  26.   alert("2-----------");  
  27.   var str2 = (new Function("return " + strData))(); // 第二种js解释Json  
  28.   alert(str2.id + " @ " + str2.name);  
  29.   alert("3-----------");  
  30.   var str3 = JSON.parse(strData);  
  31.   alert(str3.id + " @ " + str3.name);  
  32.   // 处理多维Json  
  33.   var strSs = "";  
  34.   alert(str1.length);  
  35.   for (var i = 0; i <str1.length; ++i) {  
  36.   strSs += str1[i].id + "@" + str1[i].name + " ";  
  37.   }  
  38.   alert(strSs);  
  39.   },  
  40.   error: function(xhr, data, ts) {  
  41.   alert(data);  
  42.   }  
  43.   });  
  44.   });  
  45.   </script>  
  46.   </body>  
  47.   </html>  
  48.   Json.ashx处理程序  
  49.   using System;  
  50.   using System.Collections.Generic;  
  51.   using System.Linq;  
  52.   using System.Web;  
  53.   using System.Web.Services;  
  54.   namespace web.javascript.Json  
  55.   {  
  56.   /// <summary>  
  57.   /// $codebehindclassname$ 的摘要说明  
  58.   /// </summary>  
  59.   [WebService(Namespace = "http://tempuri.org/")]  
  60.   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
  61.   public class Json1 : IHttpHandler  
  62.   {  
  63.   public void ProcessRequest(HttpContext context)  
  64.   {  
  65.   context.Response.ContentType = "text/plain";  
  66.   // 多维  
  67.   string strJSONs = "[{\"id\":1,\"name\":\"11\"},{\"id\":2,\"name\":\"22\"},{\"id\":3,\"name\":\"33\"}]";  
  68.   // 一维  
  69.   //string strJSONs={\"id\":\"123\",\"name\":\"qwe\"}  
  70.   context.Response.Write(strJSONs);  
  71.   context.Response.End();  
  72.   }  
  73.   public bool IsReusable  
  74.   {  
  75.   get  
  76.   {  
  77.   return false;  
  78.   }  
  79.   }  
  80.   }  
  81.   } 

  以上是本人在实际项目中的总结,希望对大家有帮助,同时也希望大家多多指点。

本文地址http://www.cnblogs.com/snakeraining/archive/2012/03/26/2418519.html

【编辑推荐】

  1. 理解JSON:3分钟课程轻松搞定
  2. JSONP跨域原理和jQuery.getJSON用法
  3. 在PHP语言中使用JSON
  4. Jackson框架轻易转换JSON
  5. Ajax和WEB服务数据格式:JSON JSONP
责任编辑:彭凡 来源: 博客园
相关推荐

2012-07-12 10:49:53

项目管理

2014-06-04 10:48:38

Swift苹果iOS

2009-09-14 20:17:05

并行LINQ

2009-08-03 09:17:30

ASP.NET Ses

2011-07-14 16:17:47

AmoebaMySQL

2011-12-23 09:16:19

2018-03-21 14:23:39

vagrant测试环境

2009-08-18 13:06:17

C#枚举类型

2018-03-28 15:07:16

测试环境vagrant

2011-07-18 16:33:20

sqlite

2022-04-06 07:14:29

区块链网络生态系统

2009-06-25 13:59:59

java认证FileFilter

2013-06-26 10:13:32

C语言结构体结构体偏移

2009-08-28 16:30:24

C#线程

2017-12-29 21:49:36

信息安全网络攻击漏洞

2019-06-17 06:18:27

边缘计算物联网雾计算

2010-05-20 15:29:43

优化IIS

2011-07-12 17:55:28

尾日志备份

2009-08-18 17:20:17

C#操作符重载

2011-04-07 10:13:48

数据库开发
点赞
收藏

51CTO技术栈公众号