C# Parse Json 二维数组,没有来自 geobytes.com 的格式

Posted

技术标签:

【中文标题】C# Parse Json 二维数组,没有来自 geobytes.com 的格式【英文标题】:C# Parse Json two dimensional array without format from geobytes.com 【发布时间】:2017-02-15 08:23:21 【问题描述】:

我使用 geobytes api 来查找附近的城市

http://gd.geobytes.com/GetNearbyCities?&radius=220&limit=3

api 结果是没有属性名的二维 json 数组

[
    ["0.00", "Phuket", "PU", "Thailand", "North", "0.00", "TH", "0.00", "7.883000", "THPUPHUK", "98.400002", "0.00", "Phuket"],
    ["35.90", "Surat Thani", "ST", "Thailand", "North-East", "92.72", "TH", "171.72", "9.133000", "THSTSTHA", "99.317001", "106.70", "Surat Thani"]
]

如何使用 newtonsoft json 从这个 json 结果中获取城市名称列表?

谢谢!

【问题讨论】:

那是有效的 JSON 吗? *** 上有很多关于这个问题的答案。使用搜索,您会发现很多。例如this 【参考方案1】:

您应该执行以下操作:

     string[][] geobytesResponse = JsonConvert.DeserializeObject<string[][]>(geobytesResponseString);
     const int cityIndexInCityInfoArray = 1;
     string[] cityNames = geobytesResponse.Select(cityInfoArray => cityInfoArray[cityIndexInCityInfoArray]).ToArray();

【讨论】:

感谢 yar_shukan。这对我有很大帮助。但是第二个数组不能使用 Select。然后我尝试这样的事情: foreach (cityNames[] city in urban) nearCityList.Add(city[1]); @user3338721 第二个数组不能使用.Select 是什么意思?如果这对您有所帮助,我认为您可以感谢的最佳方式是投票并接受此作为答案。谢谢

以上是关于C# Parse Json 二维数组,没有来自 geobytes.com 的格式的主要内容,如果未能解决你的问题,请参考以下文章

C# Json如何转为二维数组或者datatable

使用C# json 二维数组 反序列化

js如何把二维数组转换成json字符串格式

将来自 json 的传入数据转换为二维数组

Unity C# JSON 不会序列化私有二维数组?

Angularjs如何处理来自php(json)的二维数组