如何基于json结构创建C#类结构?

时间:2013-07-25 00:59:49

标签: c# .net json json.net

我正在使用一个Javascript库,它希望数据采用某种json格式,如下所示。我将使用.NET来获取数据并使用json反序列化将其提供给库。但是我不确定C#类是如何序列化为json的。内置的.NET json序列化程序是否支持这种json结构,还是我必须投资更高级的库,如json.net?我从未使用过json.net。我的方法是做几个试错法创建不同的C#类并查看输出json,直到json结构与下面的格式匹配。这似乎效率低,耗时长,我想知道是否有更好的方法。

注意:每个第二级节点可以有一个或多个子节点。例如:播放次数为276,271的那些。

{
"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"
     }, 
.....

2 个答案:

答案 0 :(得分:4)

或者......你可以反过来做到这一点:

http://json2csharp.com/

把你的Json放在那里它会吐出C#类......从而模仿Json格式..你不必手动试错它。

答案 1 :(得分:0)

使用此http://jsonclassgenerator.codeplex.com/

我已经使用了很长时间了,这是从JSON生成C#类的最佳方法。 生成类之后,您可以使用JSON.NET对其进行序列化以获得所需的JSON。