我有以下对象数组。目前它有一个对象包含几个内部。
let arr =
[
{
"data": {
"Score": {
"score": [
"87",
"21"
],
"Player": [
"Wiki",
"Tim"
]
},
"Designation": {
"By": [
"0",
"0",
"1",
"0",
"0"
],
"Position": [
"31/07/17",
"31/07/17",
"31/07/17",
"31/07/17",
"31/07/17"
]
},
"Address": {
"Location": "London",
"House_No": "43-B",
}
}
}
]
以上数据将放在一个表格中。
我试过循环并插入但没有任何出路。上面的数据不是常数意味着会像Position
那样改变有5个元素,下次可能是6,所以我不能简单地通过索引插入它。
我尝试过但没有成功。
答案 0 :(得分:0)
Mysql可以存储json数据,你可以在获取之后进行解析,甚至你可以从mysql查询中解析json数据,但是如果数据发生变化那就很复杂,所以最好存储它,获取和解析。 您可以选择feild type JSON并在其中存储json。
CREATE TABLE `book` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`tags` json DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
你可以使用php函数在其中插入json数据: -
$json_data = json_encode($json_data);
插入命令将是: -
INSERT INTO `book` (`title`, `tags`)
VALUES (
'ECMAScript 2015: A SitePoint Anthology',
'$json_data'
);
对于通过mysql查询操作json数据,有几个函数,如JSON_ARRAY(),JSON_OBJECT()等,您可以更喜欢使用它们。有关详细信息,请参阅以下文章: - https://www.sitepoint.com/use-json-data-fields-mysql-databases/
答案 1 :(得分:0)
在Mongodb中,如果您有动态数据,可以使用如下所示的混合类型模式: -
details:Schema.Types.Mixed,
示例架构: -
// grab the things we need
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongoosePaginate = require('mongoose-paginate');
// create a schema
var casesSchema = new Schema({
sku: {type:String, unique:true},
details:Schema.Types.Mixed,
created_at: {type:Date, default: Date.now},
images: Schema.Types.Mixed,
ebay_hosted_images: Schema.Types.Mixed,
cloudinary_hosted_images: Schema.Types.Mixed,
dropbox_hosted_images: Schema.Types.Mixed,
is_listed:Boolean,
user_id : {type: String, ref:'User'}
});
casesSchema.plugin(mongoosePaginate);
var cases = mongoose.model('cases', casesSchema);
module.exports = cases;
答案 2 :(得分:-1)
在 ES6 中,您只需获得如下对象的所有键和值:
Object.keys(myObj).forEach(key => {
console.log(key); // the name of the current key.
console.log(myObj[key]); // the value of the current key.
});
如果是每个用途的数组,则获取所有值
arr.forEach(function(element) {
console.log(element);
});
arr.push(element)
用于将元素推送到数组的最后一个索引。