110,536
社区成员
发帖
与我相关
我的任务
分享
string json = @"{""skuMap"":{
""灰色>L"":{""canBookCount"":905,""saleCount"":91,""specId"":""43b0e72e98731aed69e1f0cc7d64bf4d""},
""灰色>XL"":{""canBookCount"":929,""saleCount"":70,""specId"":""893746f5330dc3273d24aa1ac1a9a8b5""},
""灰色>XXL"":{""canBookCount"":942,""saleCount"":57,""specId"":""42d994cba0210528142a743d4069700f""},
""白色>L"":{""canBookCount"":862,""saleCount"":136,""specId"":""82114cbd2c10b5e97b01af1510807e2d""},
""白色>XL"":{""canBookCount"":881,""saleCount"":118,""specId"":""c45d8408137e34adf8e695250c42a2e9""},
""白色>XXL"":{""canBookCount"":917,""saleCount"":82,""specId"":""df78564262818d6eb0c428a37ab4a251""},
""蓝色>L"":{""canBookCount"":962,""saleCount"":35,""specId"":""e959b6ab7c355e403a3312c75bd3d5b4""},
""蓝色>XL"":{""canBookCount"":973,""saleCount"":26,""specId"":""27402e07efd89afa50733afa94cd6976""},
""蓝色>XXL"":{""canBookCount"":985,""saleCount"":14,""specId"":""358b6c3b52bf711ac8ecfe7513a4f3ad""}
},
}";
var obj = (JObject)(JObject.Parse(json)["skuMap"]);
var result = from k in obj.Properties()
let names = k.Name.Split(new string[] { ">" }, StringSplitOptions.None)
let v = (JObject)k.Value
select new
{
颜色 = names[0],
尺码 = names[1],
库存 = (int)v["canBookCount"],
出售量 = (int)v["saleCount"],
编号 = (string)v["specId"]
};
var r = result.ToList();
/// <summary>
/// JSON格式字符转换为T类型的对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonStr"></param>
/// <returns></returns>
public static T ParseFormByJson<T>(string jsonStr)
{
T obj = Activator.CreateInstance<T>();
using (System.IO.MemoryStream ms =
new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr)))
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(ms);
}
}
class skuMap
{
public string type;
public int canBookCount;
public int saleCount;
public string specId;
}
class skuMaps
{
public object skuMap;
public skuMap[] skuMapArray
{
get
{
return (((fastCSharp.setup.cSharp.ajax.jsonNode)skuMap).Dictionary).getArray(value =>
{
skuMap newValue = fastCSharp.setup.cSharp.ajax.parseJson.Get<skuMap>(value.Value);
newValue.type = value.Key;
return newValue;
});
}
}
}
string json = @"{""skuMap"":{
""灰色>L"":{""canBookCount"":905,""saleCount"":91,""specId"":""43b0e72e98731aed69e1f0cc7d64bf4d""},
""灰色>XL"":{""canBookCount"":929,""saleCount"":70,""specId"":""893746f5330dc3273d24aa1ac1a9a8b5""},
""灰色>XXL"":{""canBookCount"":942,""saleCount"":57,""specId"":""42d994cba0210528142a743d4069700f""},
""白色>L"":{""canBookCount"":862,""saleCount"":136,""specId"":""82114cbd2c10b5e97b01af1510807e2d""},
""白色>XL"":{""canBookCount"":881,""saleCount"":118,""specId"":""c45d8408137e34adf8e695250c42a2e9""},
""白色>XXL"":{""canBookCount"":917,""saleCount"":82,""specId"":""df78564262818d6eb0c428a37ab4a251""},
""蓝色>L"":{""canBookCount"":962,""saleCount"":35,""specId"":""e959b6ab7c355e403a3312c75bd3d5b4""},
""蓝色>XL"":{""canBookCount"":973,""saleCount"":26,""specId"":""27402e07efd89afa50733afa94cd6976""},
""蓝色>XXL"":{""canBookCount"":985,""saleCount"":14,""specId"":""358b6c3b52bf711ac8ecfe7513a4f3ad""}
}}";
skuMaps value = fastCSharp.setup.cSharp.ajax.parseJson.Get<skuMaps>(json);
public class cc
{
public bb skuMap { get; set; }
}
public class bb
{
public aa name1 { get; set; }
public aa name2 { get; set; }
public aa name3 { get; set; }
}
public class aa
{
public int canBookCount { get; set; }
public int saleCount { get; set; }
public string specId { get; set; }
}
aa aaa = new aa() { canBookCount = 1, saleCount = 2, specId = "43b0e72e98731aed69e1f0cc7d64bf4d" };
bb bbb = new bb() { name1 = aaa, name2 = aaa, name3 = aaa };
cc ccc = new cc() { skuMap = bbb };
Console.WriteLine(JSON.stringify(ccc));
序列化出来是不是跟你的样式很相象啊, 可惜你有>哈哈 class skuMap
{
public string type;
public int canBookCount;
public int saleCount;
public string specId;
}
string json = @"{
""灰色>L"":{""canBookCount"":905,""saleCount"":91,""specId"":""43b0e72e98731aed69e1f0cc7d64bf4d""},
""灰色>XL"":{""canBookCount"":929,""saleCount"":70,""specId"":""893746f5330dc3273d24aa1ac1a9a8b5""},
""灰色>XXL"":{""canBookCount"":942,""saleCount"":57,""specId"":""42d994cba0210528142a743d4069700f""},
""白色>L"":{""canBookCount"":862,""saleCount"":136,""specId"":""82114cbd2c10b5e97b01af1510807e2d""},
""白色>XL"":{""canBookCount"":881,""saleCount"":118,""specId"":""c45d8408137e34adf8e695250c42a2e9""},
""白色>XXL"":{""canBookCount"":917,""saleCount"":82,""specId"":""df78564262818d6eb0c428a37ab4a251""},
""蓝色>L"":{""canBookCount"":962,""saleCount"":35,""specId"":""e959b6ab7c355e403a3312c75bd3d5b4""},
""蓝色>XL"":{""canBookCount"":973,""saleCount"":26,""specId"":""27402e07efd89afa50733afa94cd6976""},
""蓝色>XXL"":{""canBookCount"":985,""saleCount"":14,""specId"":""358b6c3b52bf711ac8ecfe7513a4f3ad""}
}";
fastCSharp.setup.cSharp.ajax.jsonNode node = new fastCSharp.setup.cSharp.ajax.jsonParser().Parse(json);
skuMap[] values = node.Dictionary.getArray(value =>
{
skuMap skuMap = fastCSharp.setup.cSharp.ajax.parseJson.Get<skuMap>(value.Value);
skuMap.type = value.Key;
return skuMap;
});