[C#]将项目附加到对象

标签: json Linq C#
发布时间: 2017/2/27 5:29:55
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已经创建 Linq 语句从数据库中获取的项的列表。所以我需要循环槽查询和追加到对象,然后将序列化,然后就可以使用作为 json 在 javascript 中。 问题是我不能将追加到所声明的对象 'obj'。谁能帮我??

DataContext dataContext = new DataContext();
        var query = from qr in dataContext.tblStocks
                    where qr.enable == true
                    select qr;

        var obj = new JObject();

        foreach (var item in query)
        {
            //obj = new JObject();
            obj = ( new JObject(
                    new JProperty("stockID",item.stockID),
                    new JProperty("itemDepartmentID", item.itemDepartmentID),
                    new JProperty("item" , item.item),
                    new JProperty("description", item.description),
                    new JProperty("stockAmount", item.stockAmount),
                    new JProperty("priceExlVat", item.priceExlVat),
                    new JProperty("vat", item.vat),
                    new JProperty("priceIncVAT", item.priceIncVAT),
                    new JProperty("upc1", item.upc1),
                    new JProperty("upc2", item.upc2)
                ));


       }
        var serialized = JsonConvert.SerializeObject(obj);
        return serialized;

解决方法 1:

你要重新分配 obj 每次通过循环因此所有其他数据将会丢失。

可以轻松地创建一个数组︰

obj = new JArray();

foreach (var item in query) {
  obj.Add(new JObject(
            new JProperty(...),
            ...));
}
官方微信
官方QQ群
31647020