1、使用LINQ to JSON前,需要引用Newtonsoft.Json的dll和using Newtonsoft.Json.Linq的命名空间。
LINQ to JSON主要使用到JObject, JArray, JProperty和JValue这四个对象:

  • JObject 用来生成一个JSON对象,简单来说就是生成”{}”,
  • JArray 用来生成一个JSON数组,也就是”[]”,
  • JProperty 用来生成一个JSON数据,格式为key/value的值,
  • JValue 则直接生成一个JSON值

2、例子

BLL.addeditemgroup addeditemgroupBLL = new BLL.addeditemgroup();
DataSet ds = addeditemgroupBLL.GetEditDataList(Id);

JArray ja = new JArray();
if (ds.Tables[0].Rows.Count>0)
{
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        JObject jo = new JObject(new JProperty("id",ds.Tables[0].Rows[i]["id"]),
                                new JProperty("itemtypename", ds.Tables[0].Rows[i]["itemtypename"]),
                                new JProperty("addeditemgroupname", ds.Tables[0].Rows[i]["addeditemgroupname"]),
                                new JProperty("bId", ds.Tables[0].Rows[i]["bId"]),
                                new JProperty("addedItemItemName", ds.Tables[0].Rows[i]["addedItemItemName"]),
                                new JProperty("bigName", ds.Tables[0].Rows[i]["bigName"])
        );
        ja.Add(jo);
    }
}

JObject joReturn = new JObject(new JProperty("data", ja),
                                new JProperty("rsm",1),
                                new JProperty("errno",""),
                                new JProperty("errEng", "Operation succeeded"),
                                new JProperty("err","")
);

return joReturn.ToString();

或者:

JObject joReturn = new JObject(new JProperty("data", new JObject(new JProperty("list",ja))),
                  new JProperty("rsm",1),
                  new JProperty("errno",""),
                  new JProperty("errEng", "Operation succeeded"),
                  new JProperty("err","")
                  );

来源:https://www.cnblogs.com/youmingkuang/p/6956651.html