我正在使用DynamicJson库获取一个json字符串,我将其转换为动态对象。虽然我得到了一个数组,但是我无法得到这个数组的count / length属性。
有关详细信息,请参见下图。
我尝试了C ount, Length & length
属性。所有这些属性都不可用。如何计算DynamicJson数组?
答案 0 :(得分:0)
虽然我无法获得数组的长度\计数,但我现在使用foreach循环来获取数据:
var dynJson = DynamicJson.Parse(result);
var jarr = dynJson.results.docs;
foreach (var item in jarr)
{
var v = item[attribute];
}
答案 1 :(得分:0)
图书馆似乎支持将至少投射到T[]
和List<T>
,因此您可以:
var json = DynamicJson.Parse(@"{""foo"": [1, 2, 3] }");
int[] arr = json.foo;
int length = arr.Length;
或
List<int> lst = json.foo;
int length2 = lst.Count;
请注意,您甚至可以投放到object[]
或List<object>
!
更复杂的例子:
var json = DynamicJson.Parse(@"{""foo"": [{ ""bar"": 5 }, 2, 3] }");
dynamic[] arr = json.foo;
int length = arr.Length;
List<dynamic> lst = json.foo;
int length2 = lst.Count;
int bar1 = (int)json.foo[0].bar;
int bar2 = (int)arr[0].bar;
//int bar3 = (int)lst[0].bar; // doesn't work!
请注意,List<>
处理似乎至少存在错误。