首页后端开发ASP.NETC#如何实现JSON与对象之间互相转换功能示例

C#如何实现JSON与对象之间互相转换功能示例

时间2024-01-30 16:33:03发布访客分类ASP.NET浏览941
导读:收集整理的这篇文章主要介绍了C#如何实现JSON与对象之间互相转换功能示例,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章主要介绍了C#实现JSON和对象之间互相转换功能,结合实例形式较为详细的分析了C#实现对象与json之间相互...
收集整理的这篇文章主要介绍了C#如何实现JSON与对象之间互相转换功能示例,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章主要介绍了C#实现JSON和对象之间互相转换功能,结合实例形式较为详细的分析了C#实现对象与json之间相互转换的操作技巧,需要的朋友可以参考下

本文实例讲述了C#实现JSON和对象之间互相转换功能。分享给大家供大家参考,具体如下:

1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,Datamember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数

Address 表示送货地址,DailyRecord 表示日常记录


using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
namespace Functiontest.Model{
  [DataContract]  public class UserInfo  {
    [DataMember(Order =0)]    public string UserName {
     get;
     set;
 }
    [DataMember(Order = 1)]    public int Age {
     get;
     set;
 }
    [DataMember(Order = 2)]    public int Gender {
     get;
     set;
 }
        [DataMember(Order =3)]    public Liststring>
 Lover {
     get;
     set;
 }
    [DataMember(Order = 4)]    public ContactAddress Address {
     get;
     set;
 }
        [DataMember(Order = 5)]    public Dictionarystring, string>
 DailyRecord {
          get;
     set;
    }
  }
  [DataContract]  public class ContactAddress  {
    [DataMember(Order =0)]    public string PRovince {
     get;
     set;
 }
    [DataMember(Order = 1)]    public string CITy {
     get;
     set;
 }
    [DataMember(Order = 2)]    public string Country {
     get;
     set;
 }
    [DataMember(Order = 3)]    public string Details {
     get;
     set;
 }
  }
}
    

2.JSON帮助类 核心代码


/// summary>
    /// Json转换成对象/// /summary>
    /// tyPEparam name="T">
    /typeparam>
    /// param name="jsonText">
    /param>
    /// returns>
    /returns>
    public static T JsonToObjectT>
(string jsonText){
      DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(T));
      MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonText));
      T obj = (T)s.ReadObject(ms);
      ms.Dispose();
      return obj;
}
    /// summary>
    /// 对象转换成JSON/// /summary>
    /// typeparam name="T">
    /typeparam>
    /// param name="obj">
    /param>
    /// returns>
    /returns>
    public static string ObjectToJSONT>
(T obj){
      DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
      string result = string.Empty;
  using (MemoryStream ms = new MemoryStream())  {
        serializer.WriteObject(ms, obj);
        ms.Position = 0;
    using (StreamReader read = new StreamReader(ms))    {
          result = read.ReadToEnd();
    }
  }
      return result;
}
    

3.调用


//1.对象-->
JSONUserInfo info = new UserInfo{
        Age = 10,    Gender = 1,    UserName = "刘德华",    Lover = new Liststring>
 {
 "美女1", "美女2", "美女3" }
,    Address = new ContactAddress    {
      Province = "湖南省",      City = "长沙市",      Country = "望城县",      Details = "某旮旯快递找不到的地方"    }
    ,    DailyRecord = new Dictionarystring, string>
 {
 {
 "星期一", "吃饭" }
, {
 "星期二", "洗衣服" }
, {
 "星期三", "好事情" }
 }
}
    ;
    string JSON = ObjectToJSONUserInfo>
    (info);
    

4.反序列化后的结果

代码如下:

{
"UserName":"刘德华","Age":10,"Gender":1,"Lover":["美女1","美女2","美女3"],"Address":{
"Province":"湖南省","City":"长沙市","Country":"望城县","Details":"某旮旯快递找不到的地方"}
,"DailyRecord":[{
"Key":"星期一","Value":"吃饭"}
,{
"Key":"星期二","Value":"洗衣服"}
,{
"Key":"星期三","Value":"好事情"}
]}
    

以上就是C#如何实现JSON与对象之间互相转换功能示例的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

csharpjavascript

若转载请注明出处: C#如何实现JSON与对象之间互相转换功能示例
本文地址: https://pptw.com/jishu/592765.html
web.config 配置文件示例详解 javascript怎么将set转为数组

游客 回复需填写必要信息