C#将集合和Json格式互相转换的几种方式

1.使用微软自带的System.Web.Extensions.dll转换,该DLL文件一般存在于如下路径:c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll
具体操作如下:

//将List集合转换为Json字符串,必须应用上面的DLL文件,同时引用using System.Web.Script.Serialization;命名空间
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<Person> list = new List<Person>();
for (int i = 0; i < 10; i++)
{
   Person p = new Person("张三" + i, "重庆" + i, "10" + i);
   list.Add(p);
}
MessageBox.Show(serializer.Serialize(list));

//将Json字符串转换为集合,Person为自己定义的实体类
string json = "[{‘Address‘:‘重庆0‘,‘Age‘:‘100‘,‘Name‘:‘张三0‘},{‘Address‘:‘重庆1‘,‘Age‘:‘101‘,‘Name‘:‘张三1‘}]";
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<Person> list = serializer.Deserialize<List<Person>>(json);

2.可以借助开源的Newtonsoft.Json.dll进行转换

//将List集合转换为Json字符串
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<Person> list = new List<Person>();
for (int i = 0; i < 10; i++)
{
   Person p = new Person("张三" + i, "重庆" + i, "10" + i);
   list.Add(p);
}
MessageBox.Show(JsonConvert.SerializeObject(list));

//从JSON字符串生成集合对象
String json="[{\"Name\":\"张三0\",\"Address\":\"重庆0\",\"Age\":\"100\"},{\"Name\":\"张三1\",\"Address\":\"重庆1\",\"Age\":\"101\"}] ";
var list=JsonConvert.DeserializeObject<Person>(json);

3.引用微软如下两个DLL

//注意引用:System.Runtime.Serialization,System.ServiceModel.Web
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj)
{
   DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
   MemoryStream stream = new MemoryStream();
   serializer.WriteObject(stream, obj);
   byte[] dataBytes = new byte[stream.Length];
   stream.Position = 0;
   stream.Read(dataBytes, 0, (int)stream.Length);
   return Encoding.UTF8.GetString(dataBytes);
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj)
{
   DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
   MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
   return serializer.ReadObject(mStream);
}

备注:
用到的类

public class Person
{
    public String Name { get; set; }
    public String Address { get; set; }
    public int Age { get; set; }

    public Person() { }

    public Person(String name, String address, String age)
    {
        this.Name = name;
        this.Address = address;
        this.Age = age;
    }
}
时间: 2024-08-24 08:24:03

C#将集合和Json格式互相转换的几种方式的相关文章

C# 对象与JSON字符串互相转换的几种方式

出自:http://blog.csdn.net/testcs_dn/article/details/78150046?locationNum=6&fps=1 目录(?)[-] 方法一DoNet20 需要借助于NewtonsoftJsondll 方法二DataContractJsonSerializer 方法三JavaScriptSerializer 功能对比 性能对比 JSON转C实体类 相关参考 c json数据解析将字符串json格式数据转换成对象 Jsonnet实现方便的Json转Cdyn

Scala集合和Java集合对应转换关系

作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一下,加深记忆 scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=>

scala集合和Java集合对应转换操作

用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case, scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=> java.util.{ Iterator, Enumeration } scala.collection.mutable.Buff

js对象与json格式的转换

目前的项目数据交互几乎都用JQuery,所以处理流程是:前端页面数据->JS对象->jQuery提交->python处理,另外一种就是倒过来.python肯定不能直接处理JS对象数据,所以要把JS对象转换成为python能处理的一种数据格式(通常是字典dict),同样,python取数据反馈到前端也要把字典数据转换成JS能处理的对象,这个中间转换数据格式通常就是JSON. 一.JS对象转换成为JSON 流程:读取前端页面数据,组装成为JS对象,并通过jQuery的$.post()方法传递

SpringMVC对ServletAPI的支持和JSON格式的转换

package com.hongcong.controller; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import javax.servlet.http.Cookie; import javax.servlet.http.HttpS

js中实现json格式的转换

function person(id,name,age){ this.id=id; this.name=name; this.age=age; } var p=new person(1001,'tom',27); //转换为JSON格式 [{"id":1001,"name":"tom","age":27},{}...{}] var jsonStr=JSON.stringify(p); //将JSON格式解析为字符串 var s

JSON格式的转换

JSON对象是JavaScipt对象的自定义对象 1.字符串转化为JSON对象,可用"(",")" 拼接 也可以用$.parseJSON()进行转化 2.JSON.stringify函数的作用是将一个javascript对象,转换为JSON格式的字符串. 3.JSONObject json=JSONObject.fromObject(data);     转化为JSON对象 4.Hero hero = (Hero)JSONObject.toBean(json,Her

JSON与Javabean转换的几种形式

JSON格式的数据传递是最常用的方法之一,以下列出了常用的几种形态以及与Javabean之间的转换: String json1="{'name':'zhangsan','age':23,'interests':[{'interest':'篮球','colors':['绿色','黄色']},{'interest':'足球','colors':['红色','蓝色']}]}"; String json2="[{'name':'zhangsan'},{'name':'lisi'},{

前端Ajax传递Json数据,后端处理两种方式

在这里只讨论在前端通过Ajax远程传输Json数据的,不讨论通过form的形式传递数据 第一种方式: 前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接受. 前端写法: 1 $().ready(function(){ 2 var obj = JSON.stringify({'userNo':'121589','processId':'15','processName':'测试审批','description':'这是一个测试'}); 3 alert(obj); 4 5