【发布时间】:2014-04-19 17:20:14
【问题描述】:
我想做一些非常简单的事情。
我只想获取一个 JSON 字符串(我有)并用它填充一大堆东西。
对我来说,问题是在更多数组中的数组中隐藏了数组,我无法获取我的数据。
我尝试过像这样的标准反序列化......
var apiData = JsonConvert.DeserializeObject<RootObject>(json);
但这只能让我进入顶层 - rootObject 中的内容
我试着做一本字典……
Dictionary<string, dynamic> values = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(json);
但这也不能让我深入研究(或者我做不到)。
我已经使用 json2c# 设置了我的 c#
我一直在互联网上,包括这里。
我最接近创建任何东西的是expandoObject
var converter = new ExpandoObjectConverter();
dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json, converter);
我可以从调试器中看到所有内容都按照我的意愿进行结构化,但我不知道如何取出其中的一些内容。
长话短说,现在已经两天了,我正在用头撞砖墙。
我只是希望能够从 JSON 字符串中获取数据,并且我无法更改该字符串,因为它不是我的。
public class NewsArticlesList
{
public string title { get; set; }
public string link { get; set; }
public string source { get; set; }
public string snippet { get; set; }
}
public class jobsList
{
public string title { get; set; }
public string titleLinkUrl { get; set; }
public List<object> relatedSearchesList { get; set; }
public string formattedTraffic { get; set; }
public int trafficBucketLowerBound { get; set; }
public int interestLevel { get; set; }
public string interestColor { get; set; }
public List<NewsArticlesList> newsArticlesList { get; set; }
public double startTime { get; set; }
public string shareUrl { get; set; }
public string date { get; set; }
}
public class jobsByDateList
{
public string date { get; set; }
public string formattedDate { get; set; }
public List<jobsList> jobsList { get; set; }
}
public class RootObject
{
public string summaryMessage { get; set; }
public double dataUpdateTime { get; set; }
public List<jobsByDateList> jobsByDateList { get; set; }
public string oldestVisibleDate { get; set; }
public bool lastPage { get; set; }
}
我的问题是列表中的列表中的这些列表。
我可以到达 jobsListByDate.formattedDate,但我无法到达 jobsListByDate.jobsList.titleLinkUrl 附近的任何地方,更不用说在 NewsArticlesList 中找到这些来源了。
抱歉,如果这超级简单(我希望如此),但我是 WP8 菜鸟。
我知道在 SO 上有类似的线程,但它们似乎都没有处理这么深的数组。
【问题讨论】:
-
这可能是问题吗? public List
-
这是问题之一。所有的列表都是一个问题。我不知道如何访问它们。
-
请发布json源或链接
-
猜对了。下面回答。谢谢。
标签: c# arrays json windows-phone-8 expandoobject