{
"1": {
"id": 1,
"name": "Name(1)",
"var": 24,
"type": "TEST"
},
"2": {
"id": 2,
"name": "Name(2)",
"var": 24,
"type": "TEST"
},
...
在java中使用TIntObjectMap并像这样加载它们可以正常工作。 找不到在c#中执行此操作的方法。
GSON.fromJson(FileUtils.readFileToString(new File("file.json")),new TypeToken<Map<Integer, Definition>>() { }.getType()));
答案 0 :(得分:1)
使用Json.Net
var myobjs = JsonConvert.DeserializeObject<Dictionary<string, MyObject>>(json);
public class MyObject
{
public int id { get; set; }
public string name { get; set; }
public int var { get; set; }
public string type { get; set; }
}
您甚至可以在不使用dynamic
MyObject
dynamic dynObj = JsonConvert.DeserializeObject(json);
Console.WriteLine(dynObj["1"].name);
这是我使用过的json(正如你发布的那样)
{
"1": {
"id": 1,
"name": "Name(1)",
"var": 24,
"type": "TEST"
},
"2": {
"id": 2,
"name": "Name(2)",
"var": 24,
"type": "TEST"
}
}