JSON嵌套数组

时间:2011-01-14 10:04:42

标签: c# json facebook

假设我有以下JSON

{
   "data": [
      {
         "from": {
            "name": "aaa bbb",
         },
         "actions": [
            {
               "name": "Comment",
               "link": "http://...
            },
            {
               "name": "Like",
               "link": "http://.."
            }
         ],
      },

我有

JSONObject wallData = helper.Get("/me/feed");
if (wallData != null)
{
    var data = wallData.Dictionary["data"];
    List<JSONObject> wallPosts = data.Array.ToList<JSONObject>();
}
foreach (Facebook.JSONObject wallItem in wallPosts)
{  ... }

将整个Feed存储到wallData,将'data'对象存储到wallPosts中。 那么我可以访问wallItem.Dictionary["from"].Dictionary["name"],我得到“aaa bbb”。 但是我无法进入动作数组 wallItem.Dictionary [“actions”]。Dictionary [“name”]不起作用。

任何想法

2 个答案:

答案 0 :(得分:1)

您需要执行wallItem.Dictionary["actions"][0].Dictionary["name"]之类的操作,因为“actions”是一个数组。

答案 1 :(得分:0)

另一个注意事项......如果你直接进入一个班级,那就更整洁了......就像这样

var jSerializer = new JavaScriptSerializer();
var jsonObject = jSerializer.Deserialize<DataObject>(json);

DataObject将是一个在强类型类中模拟ur JSON数据的类。根据你的Json的大小,你不必在你的代码中使用很多字符串。