좋아 값을 얻을 : 나는 주식이 40 인 경우 이름을 좀하고 싶습니다 그래서JSON이 경우 다른 값
{
"wares":[
{
"id":"1",
"name":"apples",
"stock":"40",
},
{
"id":"2",
"name":"pears",
"stock":"40",
},
{
"id":"3",
"name":"bananas",
"stock":"30",
}
]
}
이 나는대로이 코드를 사용했습니다 내가 여기 예 : 작동하지만 꽤 주식은 당신이 여분의 값을 넣어 생각 (40)
인 경우 이름을 반환하는 방법을 발견하지 않은 http://techslides.com/how-to-parse-and-search-json-in-javascript/
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else
//if key matches and value matches or if key matches and value is not passed (eliminating the case where key matches but passed value does not)
if (i == key && obj[i] == val || i == key && val == '') { //
objects.push(obj);
} else if (obj[i] == val && key == ''){
//only add if the object is not already in the array
if (objects.lastIndexOf(obj) == -1){
objects.push(obj);
}
}
}
return objects;
}
함수 calle d 반환 할 내용을 ret (return)합니다.
alert(JSON.stringify(getObjects(JSON, 'stock', '40', 'name')));
감사합니다.
이것은 정말 유용한 방법이며 jquery를 사용하지 않습니다. 이것은 또한 몇 가지가 아니라 하나의 아름다운 선으로 모든 제품을 반환합니다. 두 가지 방법 모두 정말 좋으며 모두 기본 설정으로 내려갑니다. 나는 techfoobar 너무 감사드립니다! – user2524703