синтаксический анализ строки из urlencode и затем цикл

#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']);}
  

Сделайте так: