C# ASP.NET Json-访问数据问题

C# ASP.NET Json-访问数据问题,c#,json,facebook,C#,Json,Facebook,首先,让我说你们太棒了。我在stackoverflow上找到了很多帮助。所以,好好干吧 好了,我的问题来了。我正在尝试为facebook编写一个应用程序(只是暂时尝试=))。 我需要一些关于JSON的帮助 这是我的HomeController.cs的一部分,没有什么特别的 dynamic me2 = app2.Api("/me/feed"); ViewData["data"] = me2.data; 这是我的个人资料.aspx。它工作得很好,它把所有的帖子都写在我的facebook墙上 <

首先,让我说你们太棒了。我在stackoverflow上找到了很多帮助。所以,好好干吧

好了,我的问题来了。我正在尝试为facebook编写一个应用程序(只是暂时尝试=))。 我需要一些关于JSON的帮助

这是我的HomeController.cs的一部分,没有什么特别的

dynamic me2 = app2.Api("/me/feed");
ViewData["data"] = me2.data;
这是我的个人资料.aspx。它工作得很好,它把所有的帖子都写在我的facebook墙上

<% foreach (JsonObject item2 in (ViewData["data"] as Facebook.JsonArray))
      { %>
        <li>
            <%=item2["message"] %>
        </li>
    <%} %>
因为ViewData[“data”]=me2.data;在.cs文件中,.aspx文件返回消息(本例中为bleble)。但是如何访问“actions”数组中的“link”或“name”元素呢。我试过:

-ViewData[“操作”]=me2.actions;->不起作用

-ViewData[“操作”]=me2.data.actions;->也不行

-嵌套的foreach在我的情况下不起作用

任何帮助都是有用的:p

多谢各位


Sebastian数据是一个JSON数组,而不是一个对象。您是在寻找第一项上的操作,还是所有项的集合?我不确定这对动态对象的效果如何,但这应该给你一个正确的想法:

var actions = m2.data.Select(d => d["actions"]);
var actionsFromFirstItem = actions.First();
编辑

我不熟悉您使用的Facebook API,但我将使用JSON.NET作为示例。此代码:

var allActions = from d in jsonObject["data"]
                from a in d["actions"]
                select new {name = a.Value<string>("name"), link = a.Value<string>("link")};
var allActions=来自jsonObject[“数据”]
从a到d[“动作”]
选择新的{name=a.Value(“name”),link=a.Value(“link”)};
。。。将为您提供一个匿名对象集合,表示数组中所有帖子的所有操作,但它们不会绑定到任何特定帖子。您可以看到我如何将jsonObject[“数据”]视为一个集合,而这些元素的每个“操作”列表都视为另一个集合


因为你还没有真正定义你想要的结果是什么样的,这就是我现在所能帮助你的。我对facebookapi了解不多,但似乎您最好使用强类型的
var
,并通过字符串访问其成员,而不是使用动态对象。祝你好运。

你在使用什么json库?JSON.NET?谢谢回复。但我不能让它工作。事实上,我正在尝试访问数组(数据)中的数组(操作)。哦,我正试图让它为不止一个墙柱工作。塞巴斯蒂安
var allActions = from d in jsonObject["data"]
                from a in d["actions"]
                select new {name = a.Value<string>("name"), link = a.Value<string>("link")};