博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#json的处理
阅读量:5308 次
发布时间:2019-06-14

本文共 1926 字,大约阅读时间需要 6 分钟。

 

//把一个json字符串转换为DataTable

string user_json="{\"userName\":\"张三\"}";

string userName="";

DataTable dt = JsonConvert.DeserializeObject<DataTable>("[" + user_json+ "]");

for (int i = 0; i < dt.Rows.Count; i++)
{
      DataRow dr = dt1.Rows[i];
      userName= dr[0].ToString();
}

 

//把DataTable转换为Json字符串

public string ToJson(DataTable dt)

{

        JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

        ArrayList arrayList = new ArrayList();

        foreach (DataRow dataRow in dt.Rows)

        {

                Dictionary<string, object> dictionary = new Dictionary<string, object>();

                foreach (DataColumn dataColumn in dt.Columns)

                {

                      dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName]);

                 }

                 arrayList.Add(dictionary);

        }

        return javaScriptSerializer.Serialize(arrayList);

 }

 

//把一个json字符串转换为一个对象

public void getClass()

{
       string json = "{\"str1\":\"ok\",\"class2\":{\"str2\":\"水果\",\"class3\":[{\"str3\":\"苹果\"},{\"str3\":\"香蕉\"}]}}";
       JavaScriptSerializer js = new JavaScriptSerializer(); //实例化一个能够序列化数据的类(需要Newtonsoft.Json.dll)
       Class1 list = js.Deserialize<Class1>(json); //将json数据转换为对象类型并赋值给list
       string str1 = list.str1;
       string str2 = list.class2.str2;
       string str30 = list.class2.class3[0].str3;
       string str31 = list.class2.class3[1].str3;
}
public class Class1
{
       public string str1 { get; set; }
       public Class2 class2;
}

public class Class2 {

       public string str2{ get; set; }
       public List<Class3> class3;
}

public class Class3 {

       public string str3{ get; set; }
}

//根据对象转换为Json字符串

public string getJsonStr(Class1 class1) {

       StringBuilder sb = new StringBuilder();

       JavaScriptSerializer jsonStr = new JavaScriptSerializer(); //将list对象转换为json数据(需要Newtonsoft.Json.dll)

       jsonStr.Serialize(class1, sb);

       return sb.ToString();

}

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

浅谈,如果代码有问题,欢迎指出。

转载于:https://www.cnblogs.com/lswbk/p/4949531.html

你可能感兴趣的文章
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>
jsp
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
Hover功能
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
关于VMare中安装Ubuntu的一些说明
查看>>
字符串类型的相互转换
查看>>
HTTP状态码
查看>>
iOS如何过滤掉文本中特殊字符
查看>>
python - wmi模块学习(windwos硬件信息获取)
查看>>
Maven------使用maven新建web项目出现问题 项目名称出现红色交叉
查看>>
基础学习:C#中float的取值范围和精度
查看>>
Akka-Cluster(3)- ClusterClient, 集群客户端
查看>>
MongoDB-CRUD
查看>>
javaagent 简介
查看>>
python升级安装后的yum的修复
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>