0

この投稿を読みましたが、現在、自分の状況で使用するのに問題があります。

次の Google マップの 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 の方法はありますか?

4

1 に答える 1