简体   繁体   English

无法从对象数组中提取值,javascript 数组已反序列化到该数组中

[英]Unable to extract values from object array, to which javascript array was deserialized

var serializedArray = new JavaScriptSerializer().Deserialize<object[]>(filter);

The content of the variable filter is [["Title","contains","foo"],"and",["Name","contains","foo"]] .变量filter的内容是[["Title","contains","foo"],"and",["Name","contains","foo"]]

Content of serializedArray is "object[3]","and","object[3]" . serializedArray内容是"object[3]","and","object[3]"

Content of serializedArray[0] is object[3] which are "Title", "contains", "foo" . serializedArray[0]object[3] ,它们是"Title", "contains", "foo"

serializedArray can be used with index operator, and foreach is applicable. serializedArray可以与索引运算符一起使用,并且foreach是适用的。 But not for serializedArray[0] .但不适用于serializedArray[0]

Funny enough, both the serializedArray and serializedArray[0] have the type of Object[].有趣的是, serializedArrayserializedArray[0]的类型都是Object[]. What's the way to grab the value "Title" or "Name"?获取值“Title”或“Name”的方法是什么?

           var serializedArray = new JavaScriptSerializer().Deserialize<object[]>(filter);

            foreach (var item in serializedArray)
            {
               if (item is string)
               {
                  var element = item;
               }
               else
                  foreach (var innerItem in (object[])item)
                  {
                     var element = innerItem;
                  }
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM