zoukankan      html  css  js  c++  java
  • JSON

     

    JSON 已经是 JavaScript 标准的一部分。和 XML 一样,JSON 也是基于纯文本的数据格式。目前,主流的浏览器对 JSON 支持都非常完善。应用 JSON,我们可以从 XML 的解析中摆脱出来,对那些应用 Ajax 的 Web 2.0 网站来说,JSON 确实是目前最灵活的轻量级方案。

    var j={"name":"Michael","address":
          {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
      }; 
    JSON对象转为字符串?
    浏览器预置对象JSON.stringify方法直接转换

    .Net支持库:Newtonsoft.Json.dll

    http://www.newtonsoft.com/json/help/html/Samples.htm

    Linq to JSON

    string json1 = @"{
                  ""publicaccount"": {
                    ""id"": ""1"",
                    ""name"": ""abc""
                  },
                  ""root"": {
                    ""messages"": [
                      {
                        ""id"": ""1"",
                        ""title"": ""messagetitle1"",
                        ""content"": ""helloworld"",
                        ""url"": ""http://web.abc""
                      },
                      {
                        ""id"": ""2"",
                        ""title"": ""messagetitle2"",
                        ""content"": """",
                        ""url"": ""http://web.abc/portal/hldjh/201404/t20140423_73322.htm""
                      }
                    ]
                  }
                }";
    JSON string
        /// <summary>  
        /// DataTable 转换为List 集合  
        /// </summary>  
        /// <typeparam name="TResult">类型</typeparam>  
        /// <param name="dt">DataTable</param>  
        /// <returns></returns>  
        public static List<TResult> ToList<TResult>(DataTable dt) where TResult : class, new()
        {
            //创建一个属性的列表  
            List<PropertyInfo> prlist = new List<PropertyInfo>();
            //获取TResult的类型实例  反射的入口  
            Type t = typeof(TResult);
            //获得TResult 的所有的Public 属性 并找出TResult属性和DataTable的列名称相同的属性(PropertyInfo) 并加入到属性列表  
            Array.ForEach<PropertyInfo>(t.GetProperties(), p => { if (dt.Columns.IndexOf(p.Name) != -1) prlist.Add(p); });
            //创建返回的集合  
            List<TResult> oblist = new List<TResult>();
    
            foreach (DataRow row in dt.Rows)
            {
                //创建TResult的实例  
                TResult ob = new TResult();
                //找到对应的数据  并赋值  
                prlist.ForEach(p => { if (row[p.Name] != DBNull.Value) p.SetValue(ob, row[p.Name], null); });
                //放入到返回的集合中.  
                oblist.Add(ob);
            }
            return oblist;
        }
    DataTable->List
    var result = from account in db.PublicAccount.ToList()
                             where account.Name.Contains(keyword)
                             select account;
                result = result.ToList();
                JObject json = new JObject(
                    new JProperty(
                        "accounts",
                        new JArray(//帐号数组
                            result.Select(
                            r =>
                            new JObject(//账号对象
                                new JProperty(
                                    "id", r.ID
                                    ),
                                    new JProperty(
                                    "name", r.Name
                                    ),
                                    new JProperty(
                                    "desc", r.Desc
                                    )
                                    )
                                    )
                                    )
                                    )
                                    );
    Linq JSON
  • 相关阅读:
    js 判断表单是否为空和是否是有效数字
    jsp获取url路径的方法
    Table 'jiang.hibernate_sequence' doesn't exist
    Struts 2中的constant详解【转载】
    禁用ubuntu启用虚拟内存swap
    1
    Struts+Spring+Hibernate整合入门详解
    Posting JSON to Spring MVC Controller
    JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
    利用MAVEN打包时,如何包含更多的资源文件
  • 原文地址:https://www.cnblogs.com/yy2056/p/3851608.html
Copyright © 2011-2022 走看看