我正在C#
工作,我有一个Json
对象,我必须将其保存到我的SQL
数据库中。我的Json
:
{
"2019-02-01": {
"val1": 1,
"val2": 0.7,
"val3": 0.3
},
"2019-02-02": {
"val1": 4,
"val2": 0.5,
"val3": 0.9
},
"2019-02-03": {
"val1": 5,
"val2": 0.1,
"val3": 0.7
}
}
但是我需要Json
看起来像这样:
{
{
"Date" : "2019-02-01",
"val1": 2,
"val2": 0.76388500000000004,
"val3": 0.87279499999999999
},
{
"Date" : "2019-02-02",
"val1": 3,
"val2": 0.6,
"val3": 0.9
},
{
"Date" : "2019-02-03",
"val1": 4,
"val2": 0.7,
"val3": 0.8
}
}
为了使我的代码循环通过jArray
并将其保存到我的数据库中。
我还没有真正尝试过任何事情,因为我无法说出我想在google中做的事情,C#
仍然很新。希望有人能帮助我。
解决方案:
List<JObject> JObjectList = new List<JObject>();
foreach (var property in parseJson)
{
List<object> map_JsonChild = new List<object>();
JObject jobj = new JObject();
jobj.Add("Date", property.Key);
foreach (var item in property.Value)
{
jobj.Add(((Newtonsoft.Json.Linq.JProperty)item).Name, ((Newtonsoft.Json.Linq.JProperty)item).Value);
}
JObjectList.Add(jobj);
}
string json = JsonConvert.SerializeObject(JObjectList);
答案 0 :(得分:1)
您应该创建一个与数据库结构匹配的类。例如具有属性Date,Val1等的类。使用下面的代码将json转换为具有您创建的类类型的新对象。
Mycustomclassname oMycustomclassname = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString);
然后,您可以通过查询或通过遍历创建的与您的对象匹配的实体来将对象发布到数据库中。