zoukankan      html  css  js  c++  java
  • json 递归

    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace ConsoleApp11
    {
        class Program
        {
            static void Main(string[] args)
            {
                #region
                string jsonText = "[{"code": "LH201909100021",         "customerCode": "80000000",         "depositAmount": "179",         "memberCode": "",         "netAmount": "179",         "orderAmount": "179",         "orderType": "Z123",         "pointOfService": "K900QTD014",         "promotionDiscount": "0",         "relPosOrder": "",         "saleDate": "20191011172645",         "salesCardType": "",         "shopassistant": "onlinery",         "specialDiscount": "",         "standardDiscount": "",         "temporaryDiscount": "",         "totalDiscount": "0"     },     {         "code": "K210QTD0021191009092742",         "customerCode": "0020005000",         "depositAmount": "0",         "memberCode": "SQ",         "netAmount": "60",         "orderAmount": "60",         "orderType": "Z112",         "pointOfService": "K210QTD002",         "promotionDiscount": "0",         "relPosOrder": "",         "saleDate": "20191009093011",         "salesCardType": "SQ",         "shopassistant": "999",         "specialDiscount": "0",         "standardDiscount": "0",         "temporaryDiscount": "0",         "totalDiscount": "0",         "hpaymentInfos": [             {                 "cardCode": "",                 "cardDisType": "",                 "discountAmount": "",                 "payAmount": "60",                 "paymentType": "ZG01",                 "pointAmount": "",                 "thirdDiscount": "",                 "thirdSubsidy": ""             }         ],         "posOrderEntries": [             {                 "actualAmount": "30",                 "discountAmount": "0",                 "entryNumber": "1",                 "extracolumn": "K210QTD0021191009092742",                 "minsqty": "0",                 "netAmount": "60",                 "productCode": "000000008040600003",                 "promotionDiscount": "",                 "quantity": "2",                 "specialDiscount": "0",                 "standardDiscount": "0",                 "systemAmount": "30",                 "temporaryDiscount": "0",                 "cardIds": [                     {                         "cardIds": "400000004452136649-400000004452136649",                         "quantity": "1"                     },                     {                         "cardIds": "400000004452157237-400000004452157237",                         "quantity": "1"                     }                 ]             }         ]     } ]";
                //Dictionary<string, object> dd = jsonText.Trim(new char[] { '{', '}' }).Split(',').ToDictionary(s => s.Split(':')[0], s => (object)s.Split(':')[1]);
                //JObject json1 = (JObject)JsonConvert.DeserializeObject(jsonText);
                //JArray array = (JArray)json1["W_OFF_BURSUBSIDY"];
    
                //int i = array.Count;
    
                //string aa = "";
                //foreach (var jObject in array)
                //{
                //    //赋值属性
                //    aa = jObject["USER_NAME"].ToString();//获取字符串中id值
                //}
                //Console.WriteLine(aa);
                #endregion
                List<KeyValue> jsonList = new List<KeyValue>();
                jsonList = DG(jsonText, jsonList);
                if (jsonList.Count > 0)
                {
    
                }
            }
            public static List<KeyValue> DG(string json, List<KeyValue> strList)
            {
                //json = json.Replace("
    ", string.Empty);
                //json = json.Replace("[", string.Empty);
                //json = json.Replace("]", string.Empty);
                JArray jar = (JArray)JsonConvert.DeserializeObject(json);
                foreach (JObject o in jar)
                {
    
                    //var o = JObject.Parse(json);
                    foreach (var x in o)
                    {
                        if (x.Value.GetType() == typeof(JObject) || (x.Value.GetType() == typeof(JArray)))
                        {
                            DG(x.Value.ToString(), strList);
                        }
                        else
                        {
                            KeyValue keyValue = new KeyValue();
                            keyValue.key = x.Key;
                            keyValue.value = x.Value.ToString();
                            strList.Add(keyValue);
                        }
    
                    }
                }
                return strList;
            }
        }
        public class KeyValue
        {
            public string key { get; set; }
            public string value { get; set; }
        }
    
        
    }
  • 相关阅读:
    Xcode界面切换动画效果
    Objective—C中的排序及Compare陷阱
    串行口应用
    在windows上搭建C语言开发环境——借助eclipse和MinGW
    Leetcode--Two Sum
    C++语言笔记系列之十六——赋值兼容规则&amp;多继承的二义性
    在Powerdesigner中创建概念数据模型
    数据模型
    数据描述的三个领域
    开启PowerDesigner15工具栏上的被禁用掉的图标
  • 原文地址:https://www.cnblogs.com/HuangLiming/p/14819192.html
Copyright © 2011-2022 走看看