我有字典。它有3个键:类、Id和items。items的值是一个ArrayList类型的对象,其中包含一个字典。如何提取ArrayList在这里输入图像描述对象中的字典
类似地,该内部字典有键:、id、etag、selflink、volumeInfoE 218。其中,volumeInfo的值再次由包含字典的ArrayList类型的对象组成。
我需要提取标题,副标题的值,这是“最内在的volumeInfo词典”的作者
发布于 2017-03-28 07:02:41
Dictionary和ArrayList中的任何元素都被视为object,这意味着编译器不知道实际的类型。要使用这些元素之一,您必须转换它:
ArrayList list = (ArrayList)dict["items"];但是,如果字典不包含"items"键,或者"items"键的值不是ArrayList,则此代码将引发异常。如果您知道您的数据结构的内容总是相同的,这不需要成为一个问题。
您可以测试字典是否包含特定条目:
object o;
if (!dict.TryGetValue("items", out o))
{
// item not found!
}然后测试--并铸造--元素:
ArrayList items = o as ArrayList;
if (items == null)
{
// items is not an ArrayList!
}对于铸造钻头而言,访问ArrayList与此类似。
当您创建一个具有“种类”、"TotalItems“和”Item“属性的对象时,您的数据将更容易访问(并且更容易编写代码)。即使这种数据结构是Json或Xml反序列化的结果,也有可以反序列化为专用类的序列化器。
https://stackoverflow.com/questions/43062437
复制相似问题