Open-source Tutorial - Json.NET

Posted 郑大峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Open-source Tutorial - Json.NET相关的知识,希望对你有一定的参考价值。

JSON 简介

JSON(javascript Object Notation,JavaScript对象表示法)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。

JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。XML利用标记语言的特性提供了绝佳的延展性(如XPath),在数据存储,扩展及高级检索方面具备对JSON的优势,而JSON则由于比XML更加小巧,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。

Why JSON.NET?

我们都知道 .NET 自带用于将对象序列化成 JSON 的类(DataConstractJsonSerializer 和 JavaScriptSerializer),但是 JSON.NET 给我们带来更多的功能和强大的性能。具体可以查看官网介绍。

如何使用?

假如我们有这样一个对象

public class Movie
{
    public string Name { get; set; }
    public int Year { get; set; }
}

将对象序列化为 JSON

Movie movie = new Movie
{
    Name = "Bad Boys",
    Year = 1995
};
string json = JsonConvert.SerializeObject(movie, Formatting.Indented);

将 JSON 反序列化为对象

string json = @"{
  ‘Name‘: ‘Bad Boys‘,
  ‘Year‘: 1995
}";
Movie movie = JsonConvert.DeserializeObject<Movie>(json);

将 JSON 序列化为文件

Movie movie = new Movie
{
    Name = "Bad Boys",
    Year = 1995
};

// 方法一
// serialize JSON to a string and then write string to a file
File.WriteAllText(@"c:movie.json", JsonConvert.SerializeObject(movie));

// 方法二
// serialize JSON directly to a file
using (StreamWriter file = File.CreateText(@"c:movie.json"))
{
    JsonSerializer serializer = new JsonSerializer();
    serializer.Serialize(file, movie);
}

从文件中获取 JSON

// 方法一
// read file into a string and deserialize JSON to a type
Movie movie1 = JsonConvert.DeserializeObject<Movie>(File.ReadAllText(@"c:movie.json"));

// 方法二
// deserialize JSON directly from a file
using (StreamReader file = File.OpenText(@"c:movie.json"))
{
    JsonSerializer serializer = new JsonSerializer();
    Movie movie2 = (Movie)serializer.Deserialize(file, typeof(Movie));
}

以上是关于Open-source Tutorial - Json.NET的主要内容,如果未能解决你的问题,请参考以下文章

anguar.js tutorial demo

JS时钟+日期(实时)

React.js Tutorial: React Component Lifecycle

AOSP---"Android Open-Source Project"

Impala: A Modern, Open-Source SQL Engine for Hadoop

http://www.php.cn/js-tutorial-408097.html