我需要解析的是具有這樣的結構的jsonfile:C#如何解析非陣列陣列
"number": {
"1": {
"branch": null,
"build": 1,
"files": [
[
"zip",
"client",
"4d96d6e8f1543c5fa1184f4771ce16e2"
],
[
"zip",
"src",
"fd397591148fac49a7d57aafdccac6a3"
],
[
"zip",
"server",
"d7e1df9a91ded33be81ee8226b027c2f"
],
[
"txt",
"changelog",
"df98aec1a868ce99532c64f246387d55"
]
],
"jobver": "1.3.2",
"mcversion": "1.1",
"modified": 1328269373.0,
"version": "1.3.2.01"
},
"2": {
"branch": null,
"build": 2,
"files": [
[
"zip",
"server",
"80fbd5d837a5867c2dd7b7967e3aa2a9"
],
[
"zip",
"client",
"0cedb5e9844e490f877b6cf04601f929"
],
[
"txt",
"changelog",
"87e9fba9322e9dbc2ea482a2c3edeec6"
],
[
"zip",
"src",
"292d5596879bd13c159a2afe571ec5eb"
]
],
"jobver": "1.3.2",
"mcversion": "1.1",
"modified": 1328613907.0,
"version": "1.3.2.2"
}
(整個JSON文件可以在這裏找到:http://files.minecraftforge.net/maven/net/minecraftforge/forge/json)
我必須弄明白內部,在「1」和外部導致這個代碼的一部分,但使用Json.NET庫我不知道如何處理「1」和「2」沒有寫一個單獨的類爲每。我有超過1000個解析槽,所以我需要一些可以做到這一點相對簡單的方法。 我目前的解析類看起來是這樣的:
public class forgemaven
{
public string homepage { get; set; }
public string name { get; set; }
public List<Number> number { get; set; }
public string webpath { get; set; }
}
public class Number
{
public string branch { get; set; }
public int build { get; set; }
public List<String> files { get; set; }
public string jobver { get; set; }
public string mcversion { get; set; }
public string modified { get; set; }
public string version { get; set; }
}
注:我刪除了一些東西,比如第1000行版本/構建,因爲它們不需要和json.net似乎罰款那。
我試着用http://json2csharp.com/解析它,可悲的是,我的瀏覽器崩潰。我也嘗試過它的桌面版本,但是這給了我幾乎MB的類,這又不是最優的,因爲新的構建不斷添加到這個文件中,所以我將不得不一直改變我的結構,使用這裏的數據會很糟糕。
所以對於我的問題:我如何以可維護的方式做到這一點?
的可能重複[如何解析會導致非法C#標識符的JSON字符串?](http://stackoverflow.com/questions/24536533/how-can-i-parse-a-json-string-that-would-cause-illegal- C-尖銳的標識符) – 2014-10-05 13:54:37