JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json

使用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值

 System.Data.DataTable dt = Owlfood.LogicService.Users.TransactionLogGroupByDate(userId);
 if (dt != null && dt.Rows.Count > 0)
 {
                JObject resultJson = new JObject(new JProperty("messages", CommonLibrary.ErrorMessage.CodeToMessage(1)), new JProperty("code", 1));
                resultJson.Add(new JProperty("group", (JArray)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dt))));
                //result = "{\"messages\": \"" + CommonLibrary.ErrorMessage.CodeToMessage(1) + "\",\"code\": 1, \"group\": ";
                //result+=JsonConvert.SerializeObject(dt);
                //result += "}";
                //JObject resultJson = (JObject)JsonConvert.DeserializeObject(result);
                for (int times=0; times<dt.Rows.Count; times++)
                {
                                    string shortDate = dt.Rows[times]["shortDate"].ToString();
                    System.Data.DataTable list = Owlfood.LogicService.Users.TransactionLogByDatePage(userId, shortDate, 0, 1,100000);
                    if (list != null && list.Rows.Count > 0)
                    {
                        //string values = JsonConvert.SerializeObject(list);
                        JArray jo1 = (JArray)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(list));
                        JObject a1 = (JObject)resultJson["group"][times];
                        a1.Add(new JProperty("list", jo1));
                    }

                }
                result = resultJson.ToString();


 }
 else
 {
       result= "{\"messages\": \"" + CommonLibrary.ErrorMessage.CodeToMessage(-1) + "\",\"code\": -1}";
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值