ASP.net解析JSON例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;    //导入解析Json的类


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string JSON = "{'info':[{'title':'list1','url':'/upload/209/20120814163339890.png'},{'title':'离职申请表','url':'/upload/209/20120814163339968.xls'},{'title':'申请表','url':'/upload/209/20120814163340046.doc'},{'title':'室内','url':'/upload/209/20120814163340156.jpg'},{'title':'心电图','url':'/upload/209/20120814163340218.gif'},{'title':'新建 文本文档','url':'/upload/209/20120814163340281.txt'}]}";
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        Dictionary<string, object> json = (Dictionary<string, object>)serializer.DeserializeObject(JSON);
        object[] info = (object[])json["info"];
        Dictionary<string, object> val;
        Dictionary<int, string> Objs = null;
        Dictionary<int, string> fileOldName = null;
        for (int i = 0; i < info.Length; i++)
        {

            val = (Dictionary<string, object>)info[i];

            foreach (KeyValuePair<string, object> str in val)
            {
                //保存信息到 session
                if (Session["bigfile_info"] == null)
                {
                    Objs = new Dictionary<int, string>();
                    Session["bigfile_info"] = Objs;
                }
                
                if (Session["file_name"] == null)
                {
                    fileOldName = new Dictionary<int, string>();
                    Session["file_name"] = fileOldName;
                }

                if (str.Key.Equals("title"))
                {
                    fileOldName[i + 1] = str.Value.ToString();
                }

                if (str.Key.Equals("url"))
                {
                    Objs[i + 1] = str.Value.ToString();
                }
            }

        }
        Session["bigfile_info"] = Objs;
        Session["file_name"] = fileOldName;

        if (Session["file_name"] != null)
        {
            Objs = (Dictionary<int, string>)Session["file_name"];
            foreach (int i in Objs.Keys)
            {
                lblJson.Text += Objs[i];
            }
        }

    }
}

  

转载于:https://www.cnblogs.com/qufly/p/3470914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET返回JSON的源码主要涉及以下几个方面的实现: 1. 创建一个类或者数据模型,用来表示要返回的JSON数据。这个类可以包含各种属性或者字段,表示JSON对象中的各个属性。 2. 在ASP.NET页面中,或者是控制器(MVC框架)中,生成需要返回的JSON数据对象。可以通过实例化类,给属性赋值的方式来构建JSON对象。 3. 将生成的JSON对象转换为JSON字符串。可以使用JsonSerializer类,将对象序列化为JSON字符串。 4. 设置HTTP响应的Content-Type为“application/json”,表示返回的数据是JSON格式的。 5. 将JSON字符串作为响应正文写入到HTTP响应中。可以通过使用Response对象的Write方法,将JSON字符串写入到Response.OutputStream中。 下面是一个简单的示例代码: ```csharp using System; using System.Web; using System.Web.Script.Serialization; public class Person { public string Name { get; set; } public int Age { get; set; } } public partial class MyPage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Person person = new Person() { Name = "John", Age = 25 }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string json = serializer.Serialize(person); Response.ContentType = "application/json"; Response.Write(json); } } ``` 以上代码中,首先定义了一个Person类,表示返回的JSON对象的结构。在Page_Load事件中,创建了一个Person对象,将其序列化为JSON字符串,然后设置响应的Content-Type为“application/json”,最后将JSON字符串写入到响应中。 通过以上的代码,当访问这个ASP.NET页面时,会返回如下JSON数据:{"Name":"John","Age":25}。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值