c#处理json数据
[摘要:之前写过一个很火的,留下了两个参考网站。实在我也只是为了本身今后查材料轻易才那样做的,此次没有火,间接揭代码,我看到了一堆解释,头晕。。。
注重:别记了应用nuget顺序担保]
以前写过一个很水的,留下了两个参考网站。其实我也只是为了自己以后查资料方便才那样做的,这次不水,直接贴代码,我看到了一堆注释,头晕。。。
注意:别忘了使用nuget程序包管理器安装newtonsoft.json插件。
代码如下:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
namespace Study
{
public partial class JSONTest : Form
{
public JSONTest()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//引用Newtonsoft.Json库
//解析JSON数据
//普通JSON数据
//string str = "{'city':'北','cityid':'101010100'}";
//JObject jo = (JObject)JsonConvert.DeserializeObject(str);
//string zone = jo["cityid"].ToString();
//MessageBox.Show((zone));
//嵌套JSON数据
//string str = "{'weatherinfo':{'city':'北','cityid':'101010100'}}";
//JObject jo = (JObject)JsonConvert.DeserializeObject(str);
//string zone = jo["weatherinfo"]["city"].ToString();
//MessageBox.Show((zone));
//数组型数据
//string jsonArrayText1 = "[{'Name':'Tom','Age':'16'},{'Name':'Mary','Age':'15'}]";
//JArray ja = (JArray)JsonConvert.DeserializeObject(jsonArrayText1);
//string name1 = ja[1]["Name"].ToString();
//richTextBox1.Text = name1;
//生成JSON数据
//输出{"Name":"Jack","Age":"26"}
//StringWriter sw = new StringWriter();
//JsonWriter writer = new JsonTextWriter(sw);
//writer.WriteStartObject();
//writer.WritePropertyName("Name");
//writer.WriteValue("Jack");
//writer.WritePropertyName("Age");
//writer.WriteValue("26");
//writer.WriteEndObject();
//writer.Flush();
//string jsonText = sw.GetStringBuilder().ToString();
//richTextBox1.Text = jsonText;
//Student类进行序列化(生成JSON数据)和反序列化(解析)。
//1.生成普通JSON数据
//Student stu = new Student() { Name = "Jack", Age = 20 };
//JsonSerializer serializer = new JsonSerializer();
//StringWriter sw = new StringWriter();
//serializer.Serialize(new JsonTextWriter(sw), stu);
//richTextBox1.Text += sw.GetStringBuilder().ToString();
//StringReader sr = new StringReader(sw.GetStringBuilder().ToString());
//Student s = (Student)serializer.Deserialize(new JsonTextReader(sr), typeof(Student));
//richTextBox1.Text += "\n" + s.Name + "=>" + s.Age;
//2.序列化成数组型JSON
//List<Student> students = new List<Student>();
//Student stu = new Student() { Name = "Jack", Age = 20 };
//Student stu1 = new Student() { Name = "Tom", Age = 21 };
//students.Add(stu);
//students.Add(stu1);
//JsonSerializer serializer = new JsonSerializer();
//StringWriter sw = new StringWriter();
//serializer.Serialize(new JsonTextWriter(sw), students);
//richTextBox1.Text = sw.GetStringBuilder().ToString();
//序列化成嵌套型JSON
List<Students> students = new List<Students>();
Students stu = new Students() { Name = "Jack", Age = 20, Phones = new List<string> { "1455655888", "15236988985" } };
Students stu1 = new Students() { Name = "Tom", Age = 21, Phones = new List<string> { "1325889684", "15236988985" } };
students.Add(stu);
students.Add(stu1);
JsonSerializer serializer = new JsonSerializer();
StringWriter sw = new StringWriter();
serializer.Serialize(new JsonTextWriter(sw), students);
richTextBox1.Text = sw.GetStringBuilder().ToString();
}
//public class Student
//{
// public string Name { get; set; }
// public int Age { get; set; }
//}
public class Students
{
public string Name { get; set; }
public int Age { get; set; }
public List<string> Phones { get; set; }
}
}
}
相关推荐
感谢关注 Ithao123JS频道,ithao123.cn是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
关键词:
文章点评:
精选专题
Laravel入门教程
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
hadoop学习及应用
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
互联网产品设计
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
产品经理职责