这是json映射的类
public List List{ get; set; }
public class List
{
public string time{ get; set; }
public string textx_part { get; set; }
}
text后的x不是定值
time的赋值是一次赋值的
text_part从数据库拿出来时有多个值,需要通过foreach挨个赋值,
有什么方法能让最终json生成的形式如下么
"List":{
"time":“20220804”,
”text_part“:"abc",
"text1_part":"def",
"text2_part":"ghi"
}
如果要更改映射类格式也是可以的
这么做干嘛呢?想不到你的目的是啥,为啥不搞List来接收呢?都是顺序结构,如果一个值在数据库有多个,那么time和text_part就是一对多的关系,直接用List就可以啦
public List List{ get; set; }
public class List
{
public string time{ get; set; }
public List<string> textx_part { get; set; }
}
可以手动解析。
生成键值对,手动解析就行了
Dictionary<string, string> dic = new Dictionary<string, string>() {
{ "time", "111111111"},
{ "text_part", "222"},
{ "text1_part", "333"},
{ "text2_part", "444"},
};
JObject obj = new JObject();
JObject list_obj = new JObject();
list_obj.Add("time", dic["time"]);
list_obj.Add("text_part", dic["time"]);
for (int i = 1; i < dic.Count - 1; i++) {
string name = $"text{i}_part";
list_obj.Add(name, dic[name]);
}
obj.Add("List",list_obj.ToString());
string json = obj.ToString();
Console.WriteLine(json);