2016-08-12 3 views
0

у меня есть один вопрос с моим объектом я должен использовать memored библиотеки в узел JS для хранения данныхSyntaxError: Неожиданный маркер,

это мои функции для хранения данных

memored.store('driverList', list); 

и это для прибудете что список магазина это код

memored.read('driverList', function(err, list) { 
    var driver = list; 
}); 

после списка ПОЛУЧИТЬ, как в примере

var list = [ null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    null, 
 
    '{"phonenumber":"123123","client":{"index":"103.240.34.250:61667","sock":{"_connecting":false,"_handle":{"fd":20,"writeQueueSize":0,"owner":"[Circular]","reading":true},"_readableState":{"highWaterMark":16384,"buffer":[],"length":0,"pipes":null,"pipesCount":0,"flowing":false,"ended":false,"endEmitted":false,"reading":true,"calledRead":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"objectMode":false,"defaultEncoding":"utf8","ranOut":false,"awaitDrain":0,"readingMore":false,"decoder":null,"encoding":null},"readable":true,"domain":null,"_events":{},"_maxListeners":10,"_writableState":{"highWaterMark":16384,"objectMode":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"buffer":[],"errorEmitted":false},"writable":true,"allowHalfOpen":false,"onend":null,"destroyed":false,"bytesRead":24,"_bytesDispatched":2,"_pendingData":null,"_pendingEncoding":"","server":{"domain":null,"_events":{},"_maxListeners":10,"_connections":1,"connections":1,"_handle":{"fd":17,"writeQueueSize":0,"owner":"[Circular]"},"_usingSlaves":false,"_slaves":[],"allowHalfOpen":false,"_connectionKey":"4:0.0.0.0:25001"},"_peername":{"address":"103.240.34.250","family":"IPv4","port":61667},"_consuming":true},"_actualLength":0,"_msg":[2,114,116,101,115,116,64,103,109,97,105,108,46,99,111,109,124,114,97,118,105,110,97],"_written":0,"driver":"[Circular]"},"online":true,"onDuty":true,"latitude":0,"longitude":0,"vehicle":"Sedan","id":1056,"fullname":"test01 test01","pendingRides":{},"ride":null,"rpm":"0","licensePlate":"dri123","logintime":1471025147}' ] 
 

 
var data = list.filter(Boolean).shift(); 
 
var list = JSON.parse(data) 
 
    
 
console.log(list.id) 
 
for (var elementId in list) { 
 
       driver = list[elementId]; 
 
       
 
       if(!driver.online || !driver.onDuty) continue; 
 
       driverLists.push({ 
 
        id: driver.id, 
 
        latitude: driver.latitude, 
 
        longitude: driver.longitude, 
 
        fullname: driver.fullname, 
 
        rpm: driver.rpm, 
 
        vehicle: driver.vehicle, 
 
        licensePlate: driver.licensePlate, 
 
        logintime: driver.logintime 
 
       }); 
 
      } 
 
console.log(driverLists);

я хочу driver.id от этого объекта, но когда я пытаюсь получить его заставить меня неопределенными и я также пытаюсь с JSON.parse (значение), поэтому его получить мне SyntaxError: Неожиданное знак,

так, как я могу получить идентификатор пожалуйста, дайте мне, если у вас есть правильное решение этой проблемы

ответ

0

driver является массивом, и driver[15] является строкой.

Возможно, вы хотите JSON.parse(driver[15]).id?

0

Похож, что driver - это массив, замеченный скобками [] на выходе, а объект - действительно строка.

Сначала избавиться от всех null значений вы по какой-то причине, то получить строку и разобрать его, а затем получить значение

var data = driver.filter(Boolean).shift(); 
var parsed = JSON.parse(data); 
var id  = parsed.id; 

FIDDLE

+0

@trusharwidetech - вы ищете вещи которых нет. У вас есть один драйвер, но вы пытаетесь зациклиться на 'for ..in', который не будет работать -> ** https: //jsfiddle.net/aarLcLe9/** – adeneo

+0

, когда у меня есть более 1 драйвера в то время это работа? –

+0

Несомненно, если данные полностью разные, и у вас есть массив драйверов, возможно, он работает? – adeneo

Смежные вопросы