WebAPI接口返回ArrayList包含Dictionary对象正确解析
一、问题提出
为了减少流量,将key-value(键值对)直接输出到Dictionary<string, string>,接口返回结果如下:
其中{}里面内容如下:
上图显示600是键,4545ra是值。查看data的其他选项,键是不同的。
结论是,从Dictionary<string, string>返回的键不确定。如何输出data项中的键值呢?
二、API接口实现
API接口实现如下:
使用的是abp框架,api访问地址为:/api/Collection/ArrayList
三、正确解析方法
由于键不确定,所以不能通过Object.KeyName的方式获取属性,经过实践通过for循环对象来解析:
步骤讲解
(1)循环data,获取Dictionary<string, string>对象item
(2)循环item,对item进行解析,其中j表示键,item[j]表示值
测试输出结果如下:
完全可以找到key与value。