如何从列表对象构建文字数组?

时间:2011-07-19 23:54:03

标签: c# javascript jquery

我有使用json传递的列表对象。如何使用jquery或javascript将其转换为数组,如下所示?

List<MyItem> items = new List<MyItems>();
items.Add(new (){ItemName = "Apple", ItemCount = 5});
items.Add(new (){ItemName = "Tomato", ItemCount = 3});
items.Add(new (){ItemName = "Banana", ItemCount = 8});
items.Add(new (){ItemName = "Avokado", ItemCount = 5});
items.Add(new (){ItemName = "Potato", ItemCount = 9});
items.Add(new (){ItemName = "Onion", ItemCount = 1});

阵列

var raw_data = [['Apple', 5],
                ['Tomato', 3],
                ['Banana', 8],
                ['Avokado', 5]];

3 个答案:

答案 0 :(得分:0)

您可以使用Json.Net执行此操作。

你也可以使用javascriptserializer看到这个 http://blogs.microsoft.co.il/blogs/pini_dayan/archive/2009/03/12/convert-objects-to-json-in-c-using-javascriptserializer.aspx

答案 1 :(得分:0)

您可以使用for循环来获取对象的键,然后使用for循环中返回的键将键与对象中的值相关联:

var ob={x:1,y:2,z:3}
for(var prop in ob){
    alert(prop + ' = ' + ob[prop]);
} 

答案 2 :(得分:-1)

我认为这样可行(使用我脑中的编译器 - 不值得信赖)

String[][] arrayize(List<MyItem> items)
{
    List<String[]> answer = new List<String[]>;
    foreach (var item in items) 
    {
        answer.append(item.toArray()); // you need to write this api in MyItem
    }
    return answer.toArray();
}