我有一个名为LatLong
的课程,它存储了两个strings
,一个latitude
和longitude
。我有另一个名为LatLongs
的类,它是LatLong
public class LatLongs
{
public List<LatLong> latlongs { get; set; }
public string location_name { get; set; }
}
public class LatLong
{
public string latitude { get; set; }
public string longitude { get; set; }
}
最后,我有另一个名为Locations
的类,其中包含一个名为JSON
的{{1}}字符串
JSON字符串有两个字段geofence_coordinates
和latitude
,用于在SQL服务器上存储这些值。 JSON字符串如下所示:
longitude
以下是我的代码无法正常运行的地方。我有一个名为[
{
" latitude ":"-34.95771393255739",
" longitude ":"138.46961975097656"
},
{
" latitude ":"-34.9520861634788",
" longitude ":"138.57330322265625"
},
{
" latitude ":"-35.00947127349485",
" longitude ":"138.50017547607422"
},
{
" latitude ":"-35.00806525651258",
" longitude ":"138.57467651367188"
}
]
的{{1}}类型列表。我创建了一个Locations
,我打算用我的JSON坐标填充,但目前JSON无法正常工作并且正在被馈送coords
List<LatLongs>
我使用null
错了吗?
答案 0 :(得分:2)
您的JSON属性名称包含开头和结尾的空格:
" latitude ":"-35.00947127349485"
^ ^
| |
here and here
Json.NET不会通过修剪空格自动将JSON属性与其名称中的空格绑定到c#属性。由于c#标识符不能包含空格字符,因此您需要从How can I parse a JSON string that would cause illegal C# identifiers?中选择一种可能性,例如使用[JsonProperty]
属性标记您的属性:
public class LatLong
{
[JsonProperty(" latitude ")]
public string latitude { get; set; }
[JsonProperty(" longitude ")]
public string longitude { get; set; }
}
示例fiddle。