将JSON映射到对象,反之亦然
为了在内部使用JSON格式的数据。网络程序,自然 我想到的方法是使用JSON文本填充新实例 属于某一特定类别;要么是定制的,与结构相匹配 输入JSON文本或充当字典的更通用的文本。
相反地为了从存储在对象中的数据构建新的JSON字符串, 一个简单的export-like操作听起来是个好主意。
为此,LitJSON
包括JsonMapper
类,
它提供了两种主要的方法来处理JSON-to-object和
对象到JSON转换。这些方法是
JsonMapper.ToObject
和JsonMapper.ToJson
。
简单的JsonMapper
示例
如下例所示,ToObject
方法具有泛型
变体JsonMapper.ToObject<T>
,用于指定
待归还的物品。
1 |
|
示例输出:
1 |
|
使用JsonMapper.ToObject
的非泛型变体
当要读取JSON数据和与特定对象匹配的自定义类时
数据结构不可用或不需要,用户可以使用非通用的
ToObject
的变体,它返回一个JsonData
实例。JsonData
是一个
通用类型,可以保存JSON支持的任何数据类型,
包括列表和词典。
1 |
|
示例输出:
1 |
|
读者和作家
处理JSON数据的另一种接口,可能对
一些开发人员通过类来实现读写
以流式方式传输数据。这些类是JsonReader
和
JsonWriter
。
这两种类型实际上是这个库的基础
JsonMapper
的类型构建在它们之上,因此在某种程度上,开发人员可以
将读者和作者类视为低级编程
LitJSON的接口。
使用JsonReader
1 |
|
此示例将产生以下输出:
1 |
|
使用JsonWriter
JsonWriter
类非常简单。记住,如果你想
将任意对象转换为JSON字符串,通常只需使用
JsonMapper.ToJson
。
1 |
|
示例输出:
1 |
|
配置库的行为
JSON是一种非常简洁的数据交换格式;没有更多,也没有更少。 因此,在程序内处理JSON格式的数据可能需要 你对一些细节的深思熟虑的决定 超出了JSON规范的范围。
例如,考虑从JSON字符串中读取数据,其中
单引号用于分隔字符串,或Javascript样式
评论作为一种文档形式包含在内。这些东西不是一部分
JSON标准,但它们通常被一些开发人员使用,所以你
根据情况,可能想要宽容或严格。或者呢
如果你想转换一个.Net
对象转换为JSON字符串,但
打印得漂亮(使用缩进)?
要声明您想要的行为,您可以更改您的
JsonReader
和JsonWriter
对象。
JsonReader
的配置
1 |
|
输出将是:
1 |
|
JsonWriter
的配置
1 |
|
此示例的输出为:
1 |
|