Json序列化和反序列化指的是:对象序列化为JSON,并可用于从 JSON 反序列化对象

在.net 3.5中已支持JSON,引用命名空间:

using System.Web.Script.Serialization;

用其中:JavaScriptSerializer类进行操作,

public string ToJson(object o)

{

  JavaScriptSerializer servializer = new JavaScriptSerializer();

    return servializer.Serialize(o);

 }

在json.ashx处理页面中,Code:

class tempclass

    {

        private string _IP;

        public string IP

        {

            get { return _IP; }

            set { _IP = value; }

        }

        private string _country;

        public string Country1

        {

            get { return _country; }

            set { _country = value; }

        }

        private string _city;

        public string City1

        {

            get { return _city; }

            set { _city = value; }

        }

}

把数据库中数据至泛型集合中。。。。

List<tempclass> templist = new List<tempclass>();

                foreach (DataRow item in ds.Tables[0].Rows)

                {

                    templist.Add(new tempclass()

                    {

                        IP = item["IP4"].ToString(),

                        Country1 = item["country"].ToString(),

                        City1 = item["city"].ToString()

                    });

                }

 

System.Text.StringBuilder sb = new System.Text.StringBuilder();

   sb.Append("{");

   sb.Append("totalCount:");

   sb.Append(totalCount.ToString());

   sb.Append(",data:");

   sb.Append(ToJson(templist)); //序列化从数据库中读取的数据集

   sb.Append("}");

   context.Response.ContentType = "text/plain";

   context.Response.Write(sb.ToString());

   context.Response.End();

或者用LinQ获取数据源就更为简单了:

var dslinq = from p in dss.Tables[0].AsEnumerable()

                             select new {

                               IP = p.Field<string>("IP4"),

                               country = p.Field<string>("country"),

                              city = p.Field<string>("city")

                 };

 

接下来就是客户端读取json数据并显示,这是用jQuery的$.ajax实现:

 $(document).ready(function(){

   $.ajax({

     type:"POST",

     dataType:"json",

     url:"/json.ashx",

     success:function(msg){

       $.each(msg.data,function(i,item){

         $("<tr class='newrow'></tr>").append("<td>" + item.IP + "</td>" +

                 "<td>" + item.country + "</td>" +

                 "<td>" + item.city + "</td>").appendTo($("#List tbody"));

                });

              }

           }); 

显示结果如下:

 });

.NET中JSON序列化(数据集转JSON)的更多相关文章

  1. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  2. day5-python中的序列化与反序列化-json&pickle

    一.概述 玩过稍微大型一点的游戏的朋友都知道,很多游戏的存档功能使得我们可以方便地迅速进入上一次退出的状态(包括装备.等级.经验值等在内的一切运行时数据),那么在程序开发中也存在这样的需求:比较简单的 ...

  3. System.Text.Json 序列化对所有 JSON 属性名称使用 camel 大小写

    asp.net core3.x 新增的序列号接口System.Text.Json 序列化时,如果要对所有 JSON 属性名称使用 camel 大小写 将 JsonSerializerOptions.P ...

  4. Asp.Net Core中Json序列化处理整理

    一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C ...

  5. WPF中的常用布局 栈的实现 一个关于素数的神奇性质 C# defualt关键字默认值用法 接口通俗理解 C# Json序列化和反序列化 ASP.NET CORE系列【五】webapi整理以及RESTful风格化

    WPF中的常用布局   一 写在开头1.1 写在开头微软是一家伟大的公司.评价一门技术的好坏得看具体的需求,没有哪门技术是面面俱到地好,应该抛弃对微软和微软的技术的偏见. 1.2 本文内容本文主要内容 ...

  6. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

    1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...

  7. 解决.Net MVC EntityFramework Json 序列化循环引用问题.

    以前都是到处看博客,今天小菜也做点贡献,希望能帮到大家. 废话不多说,直接进入正题. 用过.net MVC的同学应该都被json序列化报循环引用错误这个问题骚扰过.网上有一些解决办法,但是都治标不治本 ...

  8. Python常用标准库(pickle序列化和JSON序列化)

    常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...

  9. Redis读取出错,JSON序列化的问题

    报错 org.springframework.web.util.NestedServletException: Request processing failed; nested exception ...

随机推荐

  1. 转 -- pydoc用法

    原文地址: https://www.cnblogs.com/meitian/p/6704488.html pydoc用法 pydoc是python自带的一个文档生成工具,使用pydoc可以很方便的查看 ...

  2. db.properties文件的配置格式

    #加载驱动 mysql.driver=com.mysql.jdbc.Driver #加载数据库 mysql.url=jdbc:mysql://localhost:3306/floor_shop #用户 ...

  3. Tomcat8.5配置https启动报空指针错误

    tomcat8.5版本和tomcat8.0有了很大的区别,默认的server.xml中https的配置方式也有了变化: <Connector port="8443" prot ...

  4. baiduTemplate.js 百度JS模板引擎

    baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 先展示两个例子,然后说说对baidutemplate.js的理解,从而将这一工具加到个人百宝箱里. <script id ...

  5. 二、编译第一步 make xxx_defconfig

    2.1 顶层make defconfig规则 make xxx_defconfig 的执行主要分成三个部分: 执行 make -f ./scripts/Makefile.build obj=scrip ...

  6. luogu P1357 花园

    传送门 先考虑朴素dp,设\(f_{i,j}\)表示推了\(i\)次,前\(m\)个点的状态为二进制数\(j\)(这里记放C为1),转移的时候枚举下一位放什么,还要考虑是否满足C的个数\(\leq k ...

  7. python技巧 计算字符串中字母出现的次数并取出最大

    有一个字符串 “aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532”,现在需要取出里面出现次数最多的字符 第一种方法-装饰器 ...

  8. python3中的比较函数

    在py2中,比较函数是cmp,而在py3,cmp已经不存在了,Py3启用了新的比较方法 原来在py2中,a>b就会调用a对象中的__cmp__函数,而现在a>b会调用a对象中的__lt__ ...

  9. k8s系列~docker mysql

    docker封装mysql的一些心得 简介:今天咱们来聊聊容器化mysql的一些心得 版本:Docker version 18.03 mysql 5.7.21考虑条件:  1 选好合适的docker镜 ...

  10. jquery 学习(二) - 属性操作

    html代码 <div class="n1" zdy="z1">AAA <p>1111111</p> <input t ...