当前位置:首页>开发>正文

这段json是百度一个页面获取的。我该如何反序列化它 请教json反序列化问题

2023-06-09 09:02:00 互联网 未知 开发

 这段json是百度一个页面获取的。我该如何反序列化它 请教json反序列化问题

这段json是百度一个页面获取的。我该如何反序列化它?

你刚才的问题,先写给你

private void frm_Load(object sender, EventArgs e)
{
String JSONString = "{"Name":"小明","Url":"http://www.asp.com/"},{"Name":"小红","Url":"http://www.abc.com/"}"
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(List))
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(JSONString))
List list = (List)ds.ReadObject(ms)
ms.Close()
}
--------------------------------------------------------
这个问题的答案
[DataContractAttribute]
public class BAIDU {
[DataMember]
public int cur_page { get set }
[DataMember]
public int total_num { get set }
[DataMember]
public List data{getset}

public class Data {
public string title { get set }
public int thread_id { get set }
}
}

string json = "{"cur_page":1,"total_num":4,"data": [{"title":"\u4e50\u5668","thread_id":111}, {"title":"\u4eca\u65e5","thread_id":112}, {"title":"\u4eca\u65e5","thread_id":113}, {"title":"\u4eca\u65e5","thread_id":114}]}"

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(BAIDU))
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) {
BAIDU baidu = (BAIDU)ser.ReadObject(ms)
//baidu 就是反序列化后的结果
ms.Close()
}

请教json反序列化问题

1. json 的格式有问题, 应该是这样的格式: {11:{aa:"cc"},31:{dd:"ee"}} 2. 如果json格式没问题,正常是通过与之对应的实体进行转换 3. 如果没有与之对应的实体,也可以使用 dynamic 进行转换

C# json反序列化求助

using System
using System.Web.Script.Serialization //需要添加对System.Web.Extensions的引用

namespace ConsoleApplication{
    //定义一个与json格式对应的类
    public class User
    {
        public string name { get set }
        public string loginName { get set }
        public Guid id { get set }
    }
    class Program
    {
        static void Main(string[] args)
        {
            //问题中给出的不是标准的json格式
            //修改如下:
            string json = @"{name:系统管理员,loginName:admin,id:f2222447-146d-4767-b0b5-b19254c6bc05}"
            JavaScriptSerializer js = new JavaScriptSerializer()
            //从json反序列化出一个User对象
             User u = (User)js.Deserialize(json, typeof(User))
        }
    }
}

json怎么反序列化抽象类

Server.UrlDecode(Request["type"] 先获取类型名(并且得到你的 Type),然后对 Server.UrlDecode(Request["jsonstr"] 反序列化,也是一样,是可以的。