Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WindowsPhone7-C#如何解析多维JsonArray?_C#_Windows Phone 7_Facebook C# Sdk_Arrays - Fatal编程技术网

WindowsPhone7-C#如何解析多维JsonArray?

WindowsPhone7-C#如何解析多维JsonArray?,c#,windows-phone-7,facebook-c#-sdk,arrays,C#,Windows Phone 7,Facebook C# Sdk,Arrays,我正试图解析facebook c#sdk中的json数据。我试图解析的json数据可以在facebook上看到: 下面的代码将弹出一个消息框,显示这个json对象的第一个维度,但是,正如您所看到的,每个项目中都有一个第二个维度,它提供了位置信息,如经度和纬度。我正在努力寻找一个例子来说明如何使用WP7c#(互联网上的大多数例子都使用WP7上不可用的库) fbClient.GetCompleted+=(o,er)=> { 如果(er.Error==null) { var result=(IDict

我正试图解析facebook c#sdk中的json数据。我试图解析的json数据可以在facebook上看到:

下面的代码将弹出一个消息框,显示这个json对象的第一个维度,但是,正如您所看到的,每个项目中都有一个第二个维度,它提供了位置信息,如经度和纬度。我正在努力寻找一个例子来说明如何使用WP7c#(互联网上的大多数例子都使用WP7上不可用的库)

fbClient.GetCompleted+=(o,er)=>
{
如果(er.Error==null)
{
var result=(IDictionary)er.GetResultData();
Dispatcher.BeginInvoke(()=>
{
foreach(JsonArray结果[“数据”]中的var项)
{
//用于测试目的的消息框
Show((字符串)((JsonObject)项)[“名称]);
}
});
}
});
有人能举个简单的例子吗


谢谢。

因为您使用FacebookSDK,所以不必直接使用json。 只需将JSONObject强制转换为IDictionary,并像使用Dictionary一样使用它:

//think better use IEnumerable<object>, because you don't really need JSON array
    foreach (var item in (IEnumerable<object>)result["data"])
                      {
                         var name = (item as IDictionary<string, object>)["name"];
                         //message box for testing purposes
                         MessageBox.Show(name);
                      }
或者您可以使用JSON执行此操作:

var location = ((JsonObject)((JsonObject)item)["location"]);
var long = location["longitude"];

因为您使用FacebookSDK,所以不必直接使用json。 只需将JSONObject强制转换为IDictionary,并像使用Dictionary一样使用它:

//think better use IEnumerable<object>, because you don't really need JSON array
    foreach (var item in (IEnumerable<object>)result["data"])
                      {
                         var name = (item as IDictionary<string, object>)["name"];
                         //message box for testing purposes
                         MessageBox.Show(name);
                      }
或者您可以使用JSON执行此操作:

var location = ((JsonObject)((JsonObject)item)["location"]);
var long = location["longitude"];

看看它可能会给你一个线索你知道我要引用哪个程序集吗?这似乎是一个更好的方法。您知道我必须引用哪个程序集吗?我似乎无法让VS2010识别WP7的JsonConvert.DeserializeObject,但是,您发布的这个链接似乎是一个更好的方法。我认为该示例使用Json.Netlook它可能会给您一个提示,您知道我必须引用哪个程序集吗?这似乎是一个更好的方法。您知道我必须引用哪个程序集吗?我似乎无法让VS2010识别WP7的JsonConvert.DeserializeObject,但是,您发布的这个链接似乎是一个更好的方法