這周在園子看到一篇介紹JsonCSharpClassGenerator這個工具的文章,感覺挺實用的,在現(xiàn)在項目中json用的是最多的,所以在轉(zhuǎn)換對應(yīng)的類的時候,確實挺頻繁,所以就研究了一下這個工具,確實很好用。這里寫下這個json教程,以后也方便去查找。
這是一個開源的項目,項目地址: JSON C# Class Generator
下載之后解壓,如下圖所示
支持將json轉(zhuǎn)為下面三種語言
Namespace:生成的類的命名空間。
Main Class Name:類文件名稱。
Target Folder:類文件保存位置。
Language:支持生成的語言。
Secondary Class:二級類。
Use nested Class:使用嵌套類。
Use the same namespace:使用相同的命名空間。
Use the different namespace:使用不同的命名空間。
Member generator:成員生成。
Properties:屬性。
Fields:字段。
Visibility:訪問限制。
Internal:內(nèi)部類。
Public:公共類。
Convert to PascalCase:轉(zhuǎn)換為pascalcase命名格式。
一個例子有下面的一個班級的json字符串
{
"id": 1,
"name": "信管3班",
"students": [
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
}
]
}
班級中對應(yīng)一個學(xué)生數(shù)組。大概猜測對應(yīng)的類應(yīng)該是這樣的。
Class MyClass
{
public int id;
public string name;
public List<student> students;
}
我們驗證一下
生成的類文件
確實很方便。里邊使用Json.Ne的JsonProperty特性t為屬性使用序列化時候的使用別名。跟原來的json字符串中的字段名稱保持了一直。
文章來自:博客園_Wolfy