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; } } }