【发布时间】:2014-04-27 22:29:48
【问题描述】:
我有以下 JSON 对象并尝试创建 INSERT 查询。创建数据并将数据插入数据库的最佳方法是什么?我正在使用 JSON.NET 来解析文件。我很感激任何建议。
JsonTextReader reader = new JsonTextReader(new StringReader(json));
while (reader.Read())
{
if(reader.Value != null)
Console.WriteLine("Field: {0}, Value: {1}", reader.TokenType, reader.Value);
}
这是我的 JSON 的样子。
{
"persons": {
"person": {
"i_date": "2014-03-20",
"i_location": "test",
"i_summary": "test test"
},
"people": {
"people1": {
"first_name": "first name test1",
"last_name": "last name test1"
},
"people2": {
"first_name": "first name test2",
"last_name": "last name test2"
},
"people3": {
"first_name": "first name test3",
"last_name": "last name test3"
}
}
}
}
【问题讨论】:
-
我们在谈论哪个 RDBMS?你想使用 LINQ 吗?
-
我正在使用 SQL 服务器。我可以使用 LINQ。数据应转到两个单独的表。我正在尝试将人员数据(i_date、i_location、i_summary)插入 TABLE_A 和 TABLE_B 中的 people1、people2 和 people3。
-
您必须处理一些丑陋的 JSON。您是否可以控制传入 JSON 的格式?如果你这样做,我建议将“人”更改为对象数组。在“人”中包含一系列对象,每个对象都具有不同的名称,这比实际需要的要困难得多,除非“人”下总是正好有三个对象。
-
是的。我可以控制格式。 “人”下有时会有超过 3 个(最多 11 个)对象或更少。你能推荐一下格式吗?
-
我对您数据中的关系仍然有些困惑。你有人(暗示多人)然后你有一个人(可以有不止一个人吗?)在这个人之下你有人(暗示每人不止一个人)。这只是一个非常混乱的关系。如果您可以更新您的问题以用业务术语解释这些关系,那可能会有所帮助。