2015-07-16 5 views
-2

У меня есть объект JSON, который в таком виде:Извлечение JSon из большего JSON в node.js

[ 
{ 
    "id": "458712e247328e4ebfafeb4d922b", 
    "value": [ 
     1 
    ], 
    "location": null, 
    "metadata": null, 
    "at": "2015-07-16T16:33:39.113Z" 
}, 
{ 
    "id": "1ghj78d8220734c00ab941f91b14e334b", 
    "value": [ 
     100 
    ], 
    "location": null, 
    "metadata": null, 
    "at": "2015-07-16T16:33:26.819Z" 
} 
] 

Я хочу, чтобы извлечь «значение» (что эквивалентно 100 здесь) от первого (и только этот). Как это сделать в node.js?

Или я обязан преобразовать этот JSON в строку и управлять ею? (например, подстрокой).

Спасибо

+3

разбора JSON, а затем просто 'обр [1] [ 'значение'] '. не используйте строковые операции на json ... –

+0

попробуйте приведенный ниже код и дайте мне знать, если он работает для вашей проблемы, – sam100rav

+0

Я бы хотел, чтобы люди переставали называть объекты json strings и наоборот. настолько запутанным. и еще хуже, json objects .... –

ответ

1

Преобразовать JSON в обычный JavaScript Object, а затем вы можете использовать точечную нотацию, чтобы манипулировать наш JSON, а затем снова преобразовать полученный яваскрипт объект JSON.

var jsonObj = [ 
{ 
    "id": "458712e247328e4ebfafeb4d922b", 
    "value": [ 
     1 
    ], 
    "location": null, 
    "metadata": null, 
    "at": "2015-07-16T16:33:39.113Z" 
}, 
{ 
    "id": "1ghj78d8220734c00ab941f91b14e334b", 
    "value": [ 
     100 
    ], 
    "location": null, 
    "metadata": null, 
    "at": "2015-07-16T16:33:26.819Z" 
} 
]; 
var jsObj = JSON.parse(jsonObj); 

var resulJsonObj = JSON.stringify(jsObj[1].value); 

В случае, если вам просто нужно значение, как это:

var value= jsObj[1].value; 
+0

Любая причина, по которой вы подставляете значение? – Andy

+0

для преобразования объекта javascript обратно в json – sam100rav

+0

Зачем вы хотите это сделать? Вопрос не требует этого. – Andy

0

Как Марк Б. указывал, используя строковые операции на JSON является своего рода отходов, так как JSON уже предоставляет вам простой доступ к сохраненным данным. Я включаю пример, чтобы вы могли видеть, как легко получить доступ к значению, которое вы ищете.

var data = [{ 
 
     "id": "458712e247328e4ebfafeb4d922b", 
 
     "value": [ 1 ], 
 
     "location": null, 
 
     "metadata": null, 
 
     "at": "2015-07-16T16:33:39.113Z" 
 
    }, { 
 
     "id": "1ghj78d8220734c00ab941f91b14e334b", 
 
     "value": [ 100 ], 
 
     "location": null, 
 
     "metadata": null, 
 
     "at": "2015-07-16T16:33:26.819Z" 
 
    }]; 
 

 
    var el = document.getElementById("target"); 
 
    el.innerHTML = data[1].value;
<p>Value: <span id="target"></span> 
 
</p>

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