Я получил JSON, который выглядит как что-то вроде этого:петля через JavaScript формата JSON
var json = {
"stock1" : {
"positions" : [{
"date": "29/02/2016",
"price": 15,
"type": "short"
}]
},
"stock2" : {
"positions" : [{
"date": "29/02/2016",
"price": 20,
"type": "long"
}]
}
};
На данный момент у меня есть что-то вроде этого:
<script>
function myFunction() {
;
}
</script>
<div id = "short">
<button onclick="myFunction()">
short
</button>
</div>
Мой JSON на самом деле больше, чем в этом примере. Я бы хотел пройти через него, чтобы получить только те позиции, которые являются «короткими» и печатать их. Каков наилучший способ сделать это, используя только javascript?
EDIT:
Это мой новый код, но я до сих пор не может получить доступ к короткой или длинной позиции:
var stocks = [];
var longOnMarket = [];
var shortOnMarket = [];
var typeOfPosition = [];
var lolz = [];
for (var key in json) {
if (json.hasOwnProperty(key)) {
var item = json[key];
lolz.push(JSON.stringify(item));
stocks.push(key);
var json2 = json[item];
for (var key2 in json2) {
if (json2.hasOwnProperty(key2)) {
var longOrShort = json2[key2].positions;
typeOfPosition.push(JSON.stringify(longOrShort));
}
}
}
}
alert(stocks);
alert(lolz);
alert(typeOfPosition);
Возможный дубликат [Отображение всех ключей пары значений массива в гнездовой JSon javascrpit] (HTTP: // StackOverflow. com/questions/35124166/display-all-keys-value-pair-of-array-in-nested-json-javascrpit) – Sandeep