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