zoukankan      html  css  js  c++  java
  • 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页面

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="json.aspx.cs" Inherits="web.javascript.json.json" %>
     
    <!DOCTYPE html>
    <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://www.cnblogs.com/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处理程序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    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一般用在少量的数据处理。因为格式简单,操作方便,而且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) 编辑
  • 相关阅读:
    RPI学习--环境搭建_更新firmware
    RPI学习--环境搭建_刷卡+wiringPi库安装
    [转]VS2005 Debug时提示"没有找到MSVCR80D.dll"的解决办法
    [转]结构体字节对齐
    [转]C++运算优先级列表
    putty基本操作
    Go 修改字符串中的字符(中文乱码)
    Go part 5 结构体,方法与接收器
    pickle 和 base64 模块的使用
    原来还有 卡夫卡 这个人存在
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2419000.html
Copyright © 2011-2022 走看看