vs2012的asp.net怎么解析json
我看视频讲解,他用的是vs2010,到这的时候说解析一下,然后点了一下“数据”按钮,上面的红线就消失了。但我的是vs2012,找不到那个数据按钮,怎么解析呢这是一般处理程...
我看视频讲解,他用的是vs2010,到这的时候说解析一下,然后点了一下“数据”按钮,上面的红线就消失了。但我的是vs2012,找不到那个数据按钮,怎么解析呢
这是一般处理程序中的一段,好像是要把数组转换成json对象,然后说解析一下,点了一下“数据”,最后结果是一个动态曲线图。我引用了命名空间,然后查看结果,却显示一个空网页。 展开
这是一般处理程序中的一段,好像是要把数组转换成json对象,然后说解析一下,点了一下“数据”,最后结果是一个动态曲线图。我引用了命名空间,然后查看结果,却显示一个空网页。 展开
4个回答
2016-07-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
asp.net解析json(反序列化)的常用方法:
在.Net framework 3.5之后有了System.Runtime.Serialization.Json命名空间,利用这个命名空间可以方便的序列化反序列化json数据。
1、序列化Person类,如下代码定义:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;
namespace WebApplication1
{
[Serializable]
[DataContract]
public class Person
{
[DataMember(Order=1,Name="id")]
public int ID { get; set; }
[DataMember(Order=2,Name="name")]
public String Name { get; set; }
}
}
注意:需要做json序列化的属性必须设置DataMember的属性,可以指定Order和Name,分别表示顺序号和属性序列化时的名称。
2、DataContractJsonSerializer类提供了WriteObject(Stream,Object)和ReadObject(Object)两个方法来做json的序列化和反序列化。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person { ID = 1,Name="OutOfMemory.CN" };
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Person));
//序列化json对象
using (var ms = new MemoryStream())
{
jsonSerializer.WriteObject(ms, person);
String json = Encoding.UTF8.GetString(ms.ToArray());
literalJson.Text = json;
}
//解析json对象(也叫反序列化)
var jsonText = @"{""id"":2,""name"":""OutOfMemory.CN""}";
using (var ms = new MemoryStream())
{
var buffer = Encoding.UTF8.GetBytes(jsonText);
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, SeekOrigin.Begin);
var objPerson = (Person)jsonSerializer.ReadObject(ms);
literalPersonInfo.Text = string.Format("person id == {0},person name = {1}", objPerson.ID, objPerson.Name);
}
}
}
}
在.Net framework 3.5之后有了System.Runtime.Serialization.Json命名空间,利用这个命名空间可以方便的序列化反序列化json数据。
1、序列化Person类,如下代码定义:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;
namespace WebApplication1
{
[Serializable]
[DataContract]
public class Person
{
[DataMember(Order=1,Name="id")]
public int ID { get; set; }
[DataMember(Order=2,Name="name")]
public String Name { get; set; }
}
}
注意:需要做json序列化的属性必须设置DataMember的属性,可以指定Order和Name,分别表示顺序号和属性序列化时的名称。
2、DataContractJsonSerializer类提供了WriteObject(Stream,Object)和ReadObject(Object)两个方法来做json的序列化和反序列化。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person { ID = 1,Name="OutOfMemory.CN" };
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Person));
//序列化json对象
using (var ms = new MemoryStream())
{
jsonSerializer.WriteObject(ms, person);
String json = Encoding.UTF8.GetString(ms.ToArray());
literalJson.Text = json;
}
//解析json对象(也叫反序列化)
var jsonText = @"{""id"":2,""name"":""OutOfMemory.CN""}";
using (var ms = new MemoryStream())
{
var buffer = Encoding.UTF8.GetBytes(jsonText);
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, SeekOrigin.Begin);
var objPerson = (Person)jsonSerializer.ReadObject(ms);
literalPersonInfo.Text = string.Format("person id == {0},person name = {1}", objPerson.ID, objPerson.Name);
}
}
}
}
展开全部
光标放到红色的地方,然后按 alt + shift + F10 ,你会得到提示。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用命名空间 System.Web.Script.Serialization
引用:System.Web.Extensions.dll,
=========================================
try it
引用:System.Web.Extensions.dll,
=========================================
try it
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看是吧, 看视频就是这个不好啦,你还不如弄个例子来呢,效率高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询