首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要从ArrayList类型的对象中提取字典

需要从ArrayList类型的对象中提取字典
EN

Stack Overflow用户
提问于 2017-03-28 06:45:53
回答 1查看 189关注 0票数 0

我有字典。它有3个键:Iditemsitems的值是一个ArrayList类型的对象,其中包含一个字典。如何提取ArrayList在这里输入图像描述对象中的字典

类似地,该内部字典有键:、idetagselflinkvolumeInfoE 218。其中,volumeInfo的值再次由包含字典的ArrayList类型的对象组成。

我需要提取标题,副标题的值,这是“最内在的volumeInfo词典”的作者

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 07:02:41

DictionaryArrayList中的任何元素都被视为object,这意味着编译器不知道实际的类型。要使用这些元素之一,您必须转换它:

代码语言:javascript
复制
ArrayList list = (ArrayList)dict["items"];

但是,如果字典不包含"items"键,或者"items"键的值不是ArrayList,则此代码将引发异常。如果您知道您的数据结构的内容总是相同的,这不需要成为一个问题。

您可以测试字典是否包含特定条目:

代码语言:javascript
复制
object o;
if (!dict.TryGetValue("items", out o))
{
    // item not found!
}

然后测试--并铸造--元素:

代码语言:javascript
复制
ArrayList items = o as ArrayList;
if (items == null)
{
    // items is not an ArrayList!
}

对于铸造钻头而言,访问ArrayList与此类似。

当您创建一个具有“种类”、"TotalItems“和”Item“属性的对象时,您的数据将更容易访问(并且更容易编写代码)。即使这种数据结构是Json或Xml反序列化的结果,也有可以反序列化为专用类的序列化器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43062437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档