0
我讀this post,但現在我遇到麻煩,因爲我的情況。如何解析使用ServiceStack.Text的多維JSON數組?
考慮下面的谷歌地圖JSON字符串(我使用Blitzmap.js
使用的數據結構):
{
"zoom":12,
"overlays":[
{
"type": "polygon",
"paths":[
[
{ "lat":52.06630340325415, "lng":5.749811642494365 },
{ "lat":52.066277072534014, "lng":5.758523457374736 },
{ "lat":52.06306460782621, "lng":5.758544915046855 },
{ "lat":52.063011942539184, "lng":5.749811642494365 }
]
]
}
],
"center":{ "lat":52.06465767289667, "lng":5.75417827877061 }
}
當使用Newtonsoft.JSON我可以這樣做:
dynamic mapObjectsAsDynamic = (JObject)formPostedData.MapObjects;
foreach (var overlay in mapObjectsAsDynamic.overlays)
{
if (overlay.type == "polygon")
{
foreach (var pathpart in overlay.paths)
{
foreach (var pathItem in pathpart.Children())
{
... = pathItem.lat;
... = pathItem.lng;
}
}
}
}
現在我喜歡用ServiceStack的JSON解析器(ServiceStack.Text),但我卡在paths
。
我想:
var mapObjectsAsJsonObject = JsonObject.Parse(request.MapObjects);
var trial1 = mapObjectsAsJsonObject.ArrayObjects("overlays");
var trial2 = trial1[0].ArrayObjects("paths");
是否有類似的Newtonsoft方式?
再次偉大的幫助斯科特!它工作完美無瑕。對於一個正常的休息服務,我會創建一個下降請求類。在我的第一個版本中,我在客戶端上面處理了這個問題,但是對於大量(lat,png)點與Google地理編碼服務的組合,您必須在服務器上處理它。 – Stackbever
@Stackbever這是很好的工作。是的,我已經看到了使用谷歌地圖可以獲得的特大數據集,服務器端地理編碼是合理的。祝你ServiceStack項目好運。 – Scott