#json #node.js
#json #node.js
Вопрос:
я отправляю следующий текст в основном параметре
[{"full_image":"alskdfhlkjasvbuialsdvlasljkvbaslvjhbalfdghbakjldfgjlajkshfiuqr","type":"jpg"},{"full_image": "alskdfhlkjasvbuialsdvlasljkvbaslvjhbalfdghbakjldfgjlajkshfiuqr","type":"jpg"}]
и затем разбираю его JSON.pasre
, но я не могу получить get lenght
и выполнить цикл json. ниже приведен код.
var images = req.body.images;
JSON.parse(images, function(key,value){
var counter = key.length;
var seaWeedPicture = {};
var base64FullImage = value;
seaweedfs.write(new Buffer(base64FullImage, 'base64')).then(function (pic) {
var seaWeedPicture = {
picture: config.seaWeedURL '/' pic.fid
};
}).catch(function(err){
console.log(err);
res.format({
json: function () {
res.send({
status: 200,
data: []
});
}
});
});
сгенерированная ошибка [TypeError: must start with number, buffer, array or string]
Комментарии:
1. я просто хочу зациклить json, записать файл
seaweedfs
и вернуть его URL-адреса.
Ответ №1:
Вы можете получить длину с помощью
Object
конструктора
var length=Object.keys(images).length;
//Do your loop with `length`
console.log(Object.keys(images).length);//2
Ответ №2:
var record = [{"full_image":"alskdfhlkjasvbuialsdvlasljkvbaslvjhbalfdghbakjldfgjlajkshfiuqr","type":"jpg"},{"full_image": "alskdfhlkjasvbuialsdvlasljkvbaslvjhbalfdghbakjldfgjlajkshfiuqr","type":"jpg"}]
console.log(record.length);
for(var i=0;i<record.length;i ){console.log(record[i]['full_image']);}
Сделайте так: