2016-06-21 2 views
-1

Я пытаюсь прочитать следующий JSON файл в узел ЯШ:Прочитайте файл в формате JSON с помощью узла JS

myData.json

[ 
    {"1000000": { 
    "name": "ALEX", 
    "intern": false, 
    "purchase": 76 
    }}, 
    {"2000000": { 
    "name": "KELVIN", 
    "purchase": false, 
    "days": 46 
    }}, 
    {"3000000": { 
    "name": "PUTIN", 
    "intern": false, 
    "purchase": 9 
    }} 
] 
var fs = require('fs'); 
var obj = JSON.parse(fs.readFileSync('./flatSearch.json', 'utf8')); 
console.log("Name is " + obj[0]); 

Выход:

{ '1000000' : { "name": "ALEX", "intern": false, "purchase": 76 }} 

Что мне нужно is: 1) Мне нужно только имя или старое значение или стоимость покупки
2) Мне нужно только значение 1000000

Может ли кто-нибудь помочь мне в том, как я могу получить эти значения в узле JS?

+0

Я думаю, что это уже учтено. Вы можете посмотреть [здесь] (http://stackoverflow.com/questions/5726729/how-to-parse-json-using-node-js) –

+0

Вы попробовали 'obj [" 1000000 "]' this – uzaif

+1

Ваш JSON, похоже, слишком вложен. Внешняя структура должна быть объектом с ключами «1000000», «2000000» и «3000000». Прямо сейчас вы должны итерации объекта, пока не найдете правильный идентификатор, когда вместо этого вы можете быстро найти свойства. – 4castle

ответ

0

1-а Если вам нужно значение имени: obj[0]['1000000'].name или obj[0]['1000000']['name']

1-б Если вам нужна закупочная стоимость: obj[0]['1000000'].purchase или obj[0]['1000000']['purchase']

2- Если вам просто нужно '' значение 1000000: obj[0]['1000000']

Но в этих случаях вы должны быть уверены, что объект, который вы хотите получить, имеет для имени ключа «1000000» и имеет имя и покупку как свойства.

Вы можете явно улучшить свой JSON-файл.

Зажигалка JSON пример этого:

{ 
    "1000000": { 
    "name": "ALEX", 
    "intern": false, 
    "purchase": 76 
    }, 
    "2000000": { 
    "name": "KELVIN", 
    "purchase": false, 
    "days": 46 
    }, 
    "3000000": { 
    "name": "PUTIN", 
    "intern": false, 
    "purchase": 9 
    } 
} 
+0

Heyy, @gillyb, мне нужно получить значения 1000000, 2000000, 3000000 и т. Д .... –

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