ASP.NET与json对象互转

这两天写这个xml跟json的读写,心累啊,也不是很理解,请大家多指教

首先来个热身菜做一个简单的解析json

在script里写一个简单的弹窗效果

 <script>
         //script里简单的解析json
        var json = ‘{"name": "学生","info": [{ "count": "1", "stuname": "张三 ", "stuNO": "123" }, { "count": "2", "stuname": "里斯 ", "stuNO": "456" }] }‘
        var obj = JSON.parse(json);
        alert(obj.name);
         alert(obj.info[0].count);//按顺序弹出消息弹框
          alert(obj.info[1].stuname);
    </script>

效果如图

注意:在进行asp.net与json转换时,要首先安装一个json转化工具

项目—管理NuGet程序包—打开之后如图所示操作

工具包装好后要记得引用using Newtonsoft.Json;

案例

新建两个学生类Student.cs,StuList.cs和一个web窗体WebForm.aspx

1.Student.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace asp.net解析json
{
    public class Student
    {
        public string StuNO { get; set; }
        public string StuName { get; set; }
        public Student()
        {

        }
        public Student(string StuNO, string StuName)
        {
            this.StuNO = StuNO;
            this.StuName = StuName;
        }
    }
}

2.StuList.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace asp.net解析json
{
    public class StuList
    {
        public int count;
        public List<Student> data;
        public StuList()
        {

        }
    }
}

3.WebForm.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="asp.net解析json.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>

</head>
<body>
    <form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        <div>
            <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
        </div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="对象转json" />
        <asp:Button ID="Button2" runat="server" Text="json转对象" OnClick="Button2_Click" />
    </form>
</body>
</html>

4.WebForm.aspx.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;//要记得引用
namespace asp.net解析json
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Student zhangsan = new Student("1001","张三");
            Student lisi = new Student("1002","李四");

            List<Student> stulist = new List<Student>();//存储在集合里
            stulist.Add(zhangsan);
            stulist.Add(lisi);

            StuList stuList = new StuList();
            stuList.count = stulist.Count;
            stuList.data = stulist;
            string json = JsonConvert.SerializeObject(stuList);
            ViewState["json"] = json;//获取你保存在网页里的信息
            Label1.Text = json;
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            string json = ViewState["json"].ToString();
            StuList stu = JsonConvert.DeserializeObject<StuList>(json);
            for (int i = 0; i < stu.count; i++)//遍历集合里的数据
            {
                string info = "学号:" + stu.data[i].StuNO + "姓名:" + stu.data[i].StuName + "<hr />";
                Label2.Text += info;
            }
        }
    }
}

测试结果

game over

原文地址:https://www.cnblogs.com/kalezhangtao/p/9058440.html

时间: 2025-01-08 16:51:52

ASP.NET与json对象互转的相关文章

JSon SuperObject 研究2:数据集与JSON对象互转

JSon SuperObject 研究2:数据集与JSON对象互转 JSON不能完全替代XML,但绝对是未来的大势所趋,其优点是简单.体积小.解析更快.解析占用资源更少.在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂.下面的程序,或许你有不同的想法,如果你的想法更好更快,欢迎一起讨

Delphi中JSon SuperObject 使用:数据集与JSON对象互转

在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂. 数据集字段信息,是一个完整的字典信息.因此,我们在JSON必须也建立字典信息,才能创建数据集的字段信息.我们设置其JSON信息如下: COLS:[字段列表信息],如: "Cols":[{"JsonType&quo

JSON 对象互转

以前写过用反射,转换,后来觉得有很大漏洞,最近发现有人写过这个help类,所以保存下来 public class JSONHelper { /// <summary> /// DataRow转JSON /// </summary> /// <param name="row">DataRow</param> /// <returns>JSON格式对象</returns> public static object Da

java对象和json对象之间互相转换

一个很好的关于java对象和json对象互转的例子: 1 package com.kenneth.test; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 import java.util.List; 7 8 import net.sf.json.JSONArray; 9 import net.sf.json.JSONObject; 10 11 /** 1

Json与Java对象互转之Gson学习

Json与Java对象互转之Gson学习 请尊重他人的劳动成果,转载请注明出处:Json与Java对象互转之Gson学习         我曾在<XML,Object,Json转换之浅析Xstream的使用>一文中介绍过使用XStream进行XML,Object,Json之间的转换,虽然XStream内置了对Json的支持,但是效果不是特别好,毕竟XStream重点不在Json.下面就介绍另外一种工具.           Gson(又称Google Gson)是Google公司发布的一个开放

json字符串与java对象互转

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

在ASP.NET MVC中使用Knockout实践01,绑定Json对象

本篇体验在ASP.NET MVC下使用Knockout,将使用EF Code First创建数据库.最后让Knockout绑定一个Json对象. 创建一个领域模型. namespace MvcApplication3.Models { public class Product { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public deci

解决ASP.NET Web API Json对象循环参考错误

前言 一般我们在开法 ASP.NET Web API 时,如果是使用 Entity Framework 技术来操作数据库的话,当两个 Entity 之间包含导览属性(Navigation Property)时,而当我们输出的格式为 JSON 对象时,会出现一个例外,错误讯息为:「'ObjectContent`1' 类型无法序列化内容类型 'application/json; charset=utf-8' 的回应主体.」,而小弟参考了 Will 保哥以及 Bruce 两位前辈的文章后,整理出两种小

json对象字符串互转

json对象字符串互转 1.Node.js中 JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json字符串 2.Jquery中 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 3.javaScript eval('(' + jsonstr + ')'); //可以将json字符串转换成