C# 可以使用以数字命名的对象反序列化此JSON
是否可以使用json.NET反序列化此jsonC# 可以使用以数字命名的对象反序列化此JSON,c#,json,json.net,C#,Json,Json.net,是否可以使用json.NET反序列化此json "players": { "0": { "success": 1, "name": "xsusususdd" }, "1": { "success": 1, "name": "bleeps"
"players": {
"0": {
"success": 1,
"name": "xsusususdd"
},
"1": {
"success": 1,
"name": "bleeps"
},
..."n": {
"success": 1,
"name": "bloops"
}
}
我使用的第三方web服务不返回数组,而是返回由任意数量的嵌套对象组成的对象
我从以下几点开始:
public class Players
{
public Player 0 {get;set;} //cant name the Player 0
public Player 1 {get;set;} //cant name the Player 1
public List<Players> players {get;set;} //doesn't work because it isn't being returned as an array
}
public class Player
{
public string success { get; set; }
public string name { get; set; }
}
var URL = new WebClient().DownloadString("http://webservice");
Players result = JsonConvert.DeserializeObject<Players>(URL);
公共职业玩家
{
公共播放机0{get;set;}//无法命名播放机0
公共播放器1{get;set;}//无法命名播放器1
公共列表播放机{get;set;}//不工作,因为它没有作为数组返回
}
公开课选手
{
公共字符串成功{get;set;}
公共字符串名称{get;set;}
}
var URL=new WebClient()。下载字符串(“http://webservice");
Players result=JsonConvert.DeserializeObject(URL);
您应该能够反序列化为字典(或者可能是
)
一旦你有了它,你可以从你的字典中创建一个Players
类。你应该能够反序列化为字典(或者可能是
)
一旦你有了它,你就可以从字典中创建一个Players
类。你可以用它来代替
"players": [
{
"id": 0,
"success": 1,
"name": "xsusususdd"
},
{
"id": 1,
"success": 1,
"name": "bleeps"
},
{
"id": n,
"success": x,
"name": y
}
]
这将创建一个包含PersonObject的列表,您可以将其转换为字典
Dictionary Dictionary=players.ToDictionary(v=>v.id,v=>v)代码>
或者只是一个列表
或您喜欢的内容
如果您需要从javascript访问它们,只需使用例如players[1]。name
您可以使用它
"players": [
{
"id": 0,
"success": 1,
"name": "xsusususdd"
},
{
"id": 1,
"success": 1,
"name": "bleeps"
},
{
"id": n,
"success": x,
"name": y
}
]
这将创建一个包含PersonObject的列表,您可以将其转换为字典
Dictionary Dictionary=players.ToDictionary(v=>v.id,v=>v)代码>
或者只是一个列表
或您喜欢的内容
如果您需要从javascript访问它们,只需使用例如players[1].name
一种方法是将其设置为arrayas数组,我的意思是,抱歉,只需将“number”替换为空字符串并使用regex.replace。一种方法是将其设置为arrayas数组,我的意思是,抱歉,只需将“number”替换为空字符串并使用regex.replace