如何从 json 对象获取特定的键和值以存储在数据库中
How to get particular key and value from json object to store in database?
{
"purchaseorder": {
"Meta": [{
"InterchangeControlNumber": ["000004010"],
"GroupControlNumber": ["833"],
"DocumentControlNumber": ["5952"],
"InterchangeSenderID": ["009483355"],
"InterchangeReceiverID": ["076627454"],
"GroupSenderID": ["009483355"],
"GroupReceiverID": ["076627454"]
}],
"header": [{
"address": [{
"home": [{
"hno": ["134/123"],
"contact": ["898944343"],
"pin": ["272272"],
"district": ["telangana"]
}],
"office": [{
"hno": ["456/789"],
"contact": ["440838272"],
"pin": ["55833"],
"district": ["delhi"]
}]
}]
}]
}
}
我有像上面这样的 JSON 数据。
我想将其存储在数据库中作为元,家庭和办公室作为表名,各自的键作为列,值作为单元格数据。
如何从 node.js 或 JavaScript 中的 JSON 获取数据?
JSON 数据可以是任何东西。我可以传递要创建的所需表的名称,它应该是自动化的。
恐
怕我对SQL Server了解不多,但希望这应该能让你在Javascript方面走上正确的道路。
将 JSON 转换为 JavaScript 对象
您可以将 JSON 数据转换为键值可访问对象,然后访问 meta
、 home
和 office
,如下所示:
var data = JSON.parse(jsonData);
var meta = data.purchaseorder.Meta[0];
var home = data.purchaseorder.header[0].address[0].home[0];
var office = data.purchaseorder.header[0].address[0].office[0];
然后要提取特定值,您可以这样做,例如:
var homeContact = home.contact; // Will return "898944343".
检索列名
如果如您所说,数据可以更改,则可以派生列名的一种方法是:
var metaColumns = Object.keys(meta);
var homeColumns = Object.keys(home);
var officeColumns = Object.keys(office);
注意:Javascript 对象不一定保留属性排序,因此这些列的顺序可能与它们在数据中的显示顺序不同。
创建表并插入数据
为此,您可以将相应的列名和值数组放在一起:
var allColumns = metaColumns + homeColumns + officeColumns;
var allValues = [];
for (let col of metaColumns) {
allValues.push(meta[col]);
}
for (let col of homeColumns) {
allValues.push(home[col]);
}
for (let col of officeColumns) {
allValues.push(office[col]);
}
从这里,您可以使用适用于 SQL Server 的node.js
库(如下所示)构建CREATE TABLE
和INSERT
SQL 语句,并将列名和值作为参数。
请注意,如果此数据来自不受信任的来源,则应确保对其进行正确清理,以防止SQL注入的可能性。
相关文章:
- 如何使用javascript在JSON中动态获取键和值
- 通过angularjs迭代多个字典中的键和值
- JavaScript JSON关联对象键和值都作为日期时间戳
- 使用下划线将键和值的两个数组合并到一个对象中
- jQuery动态更新数据键和值
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 在javascript中解析json对象以获取键和值
- 如何为json键和值提供工具提示消息
- 使用JSON键和值动态创建一个表
- 将对象完全转换为键和值的数组:更好的解决方案
- 确定html属性键和值的角度指令
- Javascript移除已知值的键和值数组
- 如何循环json数组以获取javascript中的键和值
- 如何将用户定义的键和值添加到数组中
- 显示关联阵列中所有元素的键和值
- 如何从 javascript 对象中删除键和值
- 如何从 json 对象获取特定的键和值以存储在数据库中
- 使用Javascript在数组中存储键和值
- 如何在Google Chrome本地存储同步中设置变量键和值
- 在会话存储中保存和显示键和值对时出现问题