我使用的是一个Javascript库,它希望数据采用特定的json格式,如下所示。我将使用.NET来获取数据,并使用json反序列化将其提供给库。然而,我不确定C#类是如何序列化为json的。内置的.NET json序列化程序会支持这种json结构吗?还是我必须投资于像json.NET这样更高级的库?我从未使用过json.net。我的方法是尝试几种方法,创建不同的C#类,并查看输出json,直到json结构与下面的格式匹配。这似乎效率低下且耗时,我想知道是否有更好的方法。
注意:每个二级节点可以有一个或多个子节点。例如:播放次数为276271的那些。
{
"children": [
{
"children": [
{
"children": [],
"data": {
"playcount": "276",
"$color": "#8E7032",
"image": "http://userserve-ak.last.fm/serve/300x300/11403219.jpg",
"$area": 276
},
"id": "album-Thirteenth Step",
"name": "Thirteenth Step"
},
{
"children": [],
"data": {
"playcount": "271",
"$color": "#906E32",
"image": "http://userserve-ak.last.fm/serve/300x300/11393921.jpg",
"$area": 271
},
"id": "album-Mer De Noms",
"name": "Mer De Noms"
}
],
"data": {
"playcount": 547,
"$area": 547
},
"id": "artist_A Perfect Circle",
"name": "A Perfect Circle"
},
.....
或者。。你可以换一种方式:
http://json2csharp.com/
把你的Json扔进去,它会吐出C#类。。从而模仿Json格式。。你不必手动尝试和错误它。
使用此http://jsonclassgenerator.codeplex.com/
我已经使用它很长一段时间了,它是从JSON生成C#类的最佳方法。生成类后,可以使用JSON.NET对其进行序列化,以获得所需的JSON。