如何从这个json字符串创建对象。
它的这个功能https://wiki.gtanet.work/index.php?title=fromJson
[["Test item 2",2,1337,1,2,"Użyj test2"],["Test item 1",2,1337,1,1,"Użyj test1"]]
我试过这个
items f = API.shared.fromJson(myString).ToObject<items>();
和班级
public class items
{
public string name {get;set;}
public int weight {get;set;}
public int model {get;set;}
public int scala {get;set;}
public int id {get;set;}
public string rightClick {get;set;}
}
错误:
Newtonsoft.Json.JsonReaderException: Invalid property identifier character: [. Path '', line 1, position 1.
答案 0 :(得分:0)
我相信你的json字符串略有不正确。它应该被声明为&#39;键/值&#39;对:
{[["name":"Test item 2","weight":2, "model":1337, "scala":1,"id":2,"rightClick":"Użyj test2"]........]}
答案 1 :(得分:0)
不幸的是,您的JSON是一个数组数组,您尝试将其转换为对象列表。你能改变你的JSON:
[{"name": "Test item 2", "weight": 2, "model": 1337, "scala": 1, "id": 2, "rightClick": "Użyj test2"}, {...}]
答案 2 :(得分:0)
如果你必须使用你共享的json。有一种解析这个json的方法;
var jsonStr = "[[\"Test item 2\",2,1337,1,2,\"Użyj test2\"],[\"Test item 1\",2,1337,1,1,\"Użyj test1\"]]";
dynamic parsedObjectList = JsonConvert.DeserializeObject(jsonStr);
parsedObjectList = (IEnumerable)parsedObjectList;
List<items> itemsList = new List<items>();
foreach (var itemList in parsedObjectList)
{
var item = new items();
item.name = itemList[0];
item.weight = itemList[1];
item.model = itemList[2];
item.scala = itemList[3];
item.id = itemList[4];
item.rightClick = itemList[5];
itemsList.Add(item);
}