json的问题在于
我有一个坐标为[x,y]的json文件我想根据坐标进行查询,但我不知道如何将其传递到c#类。我试着用https://json2csharp.com/但它给了我像这样的课程
public class DatasetData
{
public int id { get; set; }
public int channel_id { get; set; }
public string location { get; set; }
public int speed_1 { get; set; }
public int speed_2 { get; set; }
public int speed_3 { get; set; }
}
public class Root
{
public List<DatasetData> dataset_data { get; set; }
}
这是json。正如你所看到的,我已经进入了这个位置;类型和坐标,但我不知道如何将它们提取到类中并使用它们。
{
"dataset_data":[
{
"id":1234,
"channel_id":2,
"location":"{"type":"Point","coordinates":[-1.17273271,51.9132423]}",
"speed_1":1,
"speed_2":2,
"speed_3":3
}
]
}
location
不是对象,而是字符串。因此,您还需要对其进行反序列化。
如果您将Location
类定义为Lasse V.Karlsen建议的:
public class Location
{
public string type { get; set; }
public List<double> coordinates { get; set; }
}
然后你所需要做的就是像这样修改你的DatasetData
类:
public class DatasetData
{
...
public string location { set; private get;}
public Location Location => JsonConvert.DeserializeObject<Location>(location);
...
}
location
属性仅从反序列化角度写入Location
属性从反序列化角度来看是只读的