{
"录取情况(新生)": {
"全日制学生": {
"男生": "836",
"女生": "827",
"合计": "1663"
},
"在职学生": {
"男生": "836",
"女生": "827",
"合计": "1663"
}
},
"所有本科生": {
"全日制学生": {
"男生": "3317",
"女生": "3316",
"合计": "6633"
},
"在职学生": {
"男生": "1",
"女生": "7",
"合计": "8"
},
"研究生": {
"男生": "7303",
"女生": "6671",
"合计": "13974"
}
},
"宗教种族背景本科生": {
"美洲印第安人/阿拉斯加土著人": "少于1%",
"亚洲人": "15%",
"黑人": "6%",
"西班牙人": "8%",
"多种族": "3%",
"夏威夷土人/太平洋岛国居民": "少于1%",
"白人": "43%",
"种族不明": "1%"
},
"外州学生": {
"外州学生比例": "74%",
"代表的州和地区数量数量": "54"
},
"国际学生": {
"国际学生比例": "10%",
"代表的国家数量": "110"
},
"学生年龄": {
"年龄超过25岁的学生(含25岁)比例": "1%"
}
}
}
序列化的字符串,怎么用ADO.net导入数据库啊
1.解析json(这一步关键,C#应该有解析json数据的库吧)
2.setter bean对象
3.ADO.net 持久化bean对象导数据库即可!
解析JSON建议用Json.Net
不太明白,能否有点代码提示下,谢谢
@叶落无声1:
加上dudu大人的回复我想够明白了吧!
使用Json.Net解析你上面的字符串,得到new bean对象,将bean对象insert到数据库!
实在抱歉,我玩java的,对C#只是了解,思路基本就是那样!
@Beyond-bit: 我是有建立类,然后复制进行序列化(那解析是所谓的序列化吗),上面的字符串是我序列化后输出的结果,关键我现在要怎么去建立以之对应的表导进去!本人实习生,任务要求,不好意思有劳帮忙了
@叶落无声1:
1.好吧!那我就给你讲细致点,序列化只是将数据序列化为完整的准确无误的json格式的数据!
2,解析指的就是将你上面的json数据一一从json格式中分解出来,的到字符串格式的便于封装bean对像
eg: "录取情况(新生)"
"全日制学生"
"男生": "836",
"女生": "827",
"合计": "1663"
上面的就是一对多的关系!(是在不行,你可以看做xml数据,获取xml值赋值给bean理解吧!)
3.建立一对多的对象
4.将value setter给你的bean对象!
5最后将bean存数据库
@Beyond-bit: 那我是要先在DB中建立已之相对应的表吗?
@叶落无声1:
这个当然啊!没有表你如何存数据啊!
@Beyond-bit:
namespace Myjson { class 学校3 { public 学校3() { 体育奖学金项目 = new List<体育奖学金>(); }
public string 体育协会成员 { get; set; } public List<体育奖学金> 体育奖学金项目 { get; set; } } public class 体育奖学金 {
public string 项目 { get; set; }
public string 性别 { get; set; }
public string 选区 { get; set; }
}
}
namespace Myjson { class GetTable3Json { public static void GetTable3JsonString() { 学校3 hf = new 学校3();
hf.体育协会成员 = "全国大学体育协会(NCAA)";
hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "棒球", 性别 = "男子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "男子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "女子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "越野赛跑", 性别 = "女子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "英式足球", 性别 = "男子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "英式足球", 性别 = "女子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "男子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "女子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "女子", 选区 = "选区2" }); hf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "女子", 选区 = "选区2" });
var table3json1 = Newtonsoft.Json.JsonConvert.SerializeObject(hf);
Console.WriteLine(table3json1);
学校3 plsd = new 学校3();
plsd.体育协会成员 = "全国大学体育协会(NCAA)";
plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "棒球", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "越野赛跑", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "赛艇", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "越野赛跑", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "剑术", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "剑术", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "陆上曲棍球", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "游泳", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "男子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "女子", 选区 = "选区1" }); plsd.体育奖学金项目.Add(new 体育奖学金 { 项目 = "摔跤", 性别 = "女子", 选区 = "选区1" });
var table3json2 = Newtonsoft.Json.JsonConvert.SerializeObject(plsd);
Console.WriteLine(table3json2);
学校3 stf = new 学校3();
stf.体育协会成员 = "全国大学体育协会(NCAA)";
stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "棒球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "越野赛跑", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "赛艇", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "赛艇", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "越野赛跑", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "剑术", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "剑术", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "足球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "足球", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "陆上曲棍球", 性别 = "女子", 选区 = "选区1"}); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "游泳", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "游泳", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "垒球", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "女子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "水球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "水球", 性别 = "男子", 选区 = "选区1" }); stf.体育奖学金项目.Add(new 体育奖学金 { 项目 = "摔跤", 性别 = "男子", 选区 = "选区1" });
var table3json3 = Newtonsoft.Json.JsonConvert.SerializeObject(stf);
Console.WriteLine(table3json3);
学校3 dk= new 学校3();
dk.体育协会成员 = "全国大学体育协会(NCAA)";
dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "棒球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "篮球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "赛艇", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "足球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "陆上曲棍球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "高尔夫", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "高尔夫", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "长曲棍球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "长曲棍球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "足球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "足球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "垒球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "游泳", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "游泳", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "网球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "田径", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "排球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "水球", 性别 = "男子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "水球", 性别 = "女子", 选区 = "选区1" }); dk.体育奖学金项目.Add(new 体育奖学金 { 项目 = "摔跤", 性别 = "男子", 选区 = "选区1" });
var table3json4 = Newtonsoft.Json.JsonConvert.SerializeObject(dk);
Console.WriteLine(table3json4);
这些是我序列json的代码,问题是我要怎么在DB中建立数据表,使之存入一一对应的数据呢
@叶落无声1:
你给我这个太乱了吧!类型相同的为一个表!如果一个类型下面存在多个其他类型说明存在主外键关系!
@Beyond-bit:
如果建立了表,数据填充的话是在DB里面用SQL填充还是可以有更简单快速的方法,比如ADO.NET或者怎么快速跑进数据库
@叶落无声1: 当然可以用ADO.net 你用ADO.net 写过b/s程序吗、你的程序里面bean对象如何insert的?那么这个就是一样的!因为这个时候数据已经分装到bean对象了,保存bean对象即可!
@Beyond-bit:
关键这些都是嵌套的表列,在DB中不允许这样列中有列啊!以前没有写过b/s程序。
@叶落无声1: eg:一年级:
1班
2班
3班
二年级
1班
2班
3班
bean就是这样的:
class Grad{
private string gradName; //年级
private List list; //班级
}
那你保存的时候就是
Grad grad = new Grad();
grad.gradName="1年级";
grad.list.add("1班");
grad.list.add("2班");
grad.list.add("3班");
DAO.save(grad);
@Beyond-bit:
这样以录取情况为一列,可是下面那些怎么办
@叶落无声1:
这个数据是并列关系?
@Beyond-bit: 那在DB里面该如何去进行分列呢
@叶落无声1:
@Beyond-bit:
我的意思是这样的,那个截图是个基于EXCEl的数据,现在呢我要在sql server中建立以之相对应的表来存储,而且查询的时候还要能用上里面的数字数据,把这些归在一列没有意义啊
@叶落无声1:
那你不早说!
首先分析你的数据,从中间的“!”分开这样就是两个表了!
table1一个:全日制学生
table2一个:在职学生:
table1 结构: 全日制学生id,全日制学生,男生,836,女生,827,合计,1663
table2 结构: 在职学生id,全日制学生id,全日制学生,男生,836,女生,827,合计,1663
save的时候判断,“!”后面为null则continue
@Beyond-bit:
这个是怎么一回事DAO.save(grad);如果我还有很多类似这样的看着像是并列的数据,那不是要分很多各表,导入数据的时候,是要用到SqlCommand类似的这些类吗?
@叶落无声1:
有很多类似这样的?问问你老大啊!这样下去不行啊!针对不同的问题要有不同的表!
@Beyond-bit:
非常感谢你这么耐心的帮我!!!
你是想存你生成的Json串,还是要把Json串对应的值存到DB中?
就是把这种json格式的值存到DB中,对应的表格存储
当字符串存就行了, 咋那么麻烦。
就是不懂没办法啦
。。。直接字符串还不能存么。。。汗
请指教,关键我不会根据上面那种数据建表
@叶落无声1: 都搞定了,其实只是存下json的字符串就好了,害我以为还要分开存!!谢谢!辛苦了
你学的是易语言?
不是啊!只是处理json的数据格式而已,用的是.net