2010-05-12 5 views
0

내 JSON 객체는 다음과 같습니다는 JSON 객체에서 아이디의 문자열을 구축하는 방법을

User { ID: 234, name: 'john', ..); 

내가 모든 ID의 문자열을 구축하고자합니다.

어떻게하면됩니까? 아래에보다 우아한 방법이 있습니까?

var ids = ''; 
for(int x = 0; x < json.length; x++) 
{ 
     ids += json[x].Id + ","; 
} 
// strip trailing id 
+0

확인이 있음을 나타냅니다 http://stackoverflow.com/questions/759385/asp-netjquery-how-to-deserialize-json – Gabe

+0

무엇 타입이'json' 변수입니까? – Gumbo

+0

개체가 유효한 JSON이 아니며 올바른 JavaScript가 아니어도 개체는 현재 양식에 하나의 ID 만 포함 할 수 있습니다. 그럼 실제로 어떻게 생겼습니까? – Tomalak

답변

2

당신은 다음과 같이 후 항목과 .join() 결과를 추가 .push()를 사용하여 배열을 만들 수 있습니다

var ids = []; 
for(int x = 0; x < json.length; x++) 
{ 
     ids.push(json[x].Id); 
} 
var idString = ids.join(','); 
0

자바 스크립트 1.8 (ECMA-262 버전 5)의 경우는 배열을 사용할 수 있습니다. 당신이 편곡에 축적 값을 선호하는 경우

[{id:1},{id:2},{id:3}].reduce(function(a,b) { return a+','+b.id }, '').substr(1)

: 기본적으로 같은 일을 감소 바깥과 결국 그들을 연결 이렇게 :

[{id:1},{id:2},{id:3}].reduce(function(a,b) { a.push(b.id); return a }, []).join(',')

3

는 당신에게 당신의 질문은 당신이 보여 예를 유효 JSON은 둘 없어도 (을 암시하는 것 같다 무엇도 그것을 않습니다 여러 사용자의 배열을 가정 유형의 사용자가 하나 이상의 개체) ...이 질문에 밖으로

var jsonResult = [{ID: 1, name: 'John'}, {ID: 2, name: 'Bob'}]; 

var ids = jsonResult.map(function(user) {return user.ID;}).join(','); 
// ids will be "1,2" 
관련 문제