2012-12-12 2 views
3

:키는 객체의 속성 값을 얻기이 객체 감안할 때 빈 문자열

: http://www.w3.org/2005/Atom 
gd: http://schemas.google.com/g/2005 
openSearch: http://a9.com/-/spec/opensearch/1.1/ 
app: http://www.w3.org/2007/app; 
media: http://search.yahoo.com/mrss/ 

가 어떻게 첫 번째 속성 값을받을 수 있나요? 나는 이것이 쉬운 과정이라고 생각하지만 공백을 그리고있다. 미리 감사드립니다.

목적은 같은 내장되어 있습니다 :

서버 측 (PHP) :

$namespaces = $feedXML->getNamespaces(true); 
$arr = array(
'Status' => 'Success', 
'Message' => 'Feed fetched.', 
'Namespaces' => $namespaces, 
'Feed XML' => $feedXML 
); 
echo json_encode($arr); 

클라이언트 측 (JS가) :

var output = ''; 
    for (property in dataj["Namespaces"]) { 
     output += property + ': ' + dataj["Namespaces"][property] + '; '; 
    } 
    alert(output); 

나는를 확인할 수 있도록하고 싶습니다 이름 공간이 Atom 또는 RDF인지 확인합니다.

각 속성을 반복하는 것이 가장 좋은 방법이라고 생각됩니다. 당신이 키 빈 문자열 속성의 값을 취득하려는 경우 당신은 객체의 "첫 번째 속성을"얻으려고하면

+0

코드가 실제로 작동합니까? 내가 얻게되는 것은 [Uncaught SyntaxError : Unexpected token':'] (http://jsfiddle.net/davidThomas/4kNhP/)입니다. –

+0

정확한 코드는 무엇입니까? 당신의 물건은 어떻게 지어 집니까? –

+0

이것은 유효한 JavaScript 개체가 아닙니다. 그리고 api가 적절하게 인코딩 된 JSON 객체를 보낸다고 확신합니다 (예 :'{ "xmlns": "http://www.w3.org/2005/Atom", "xmlns $ gd": "http://schemas.google .com/g/2005 "}'). –

답변

6

, 당신은 당신이 할 수있는,

var value = myObject['']; 

을 수행 할 수 있습니다 자바 스크립트 객체의 속성이 정렬되지 않기 때문입니다.

+0

이것은 네임 스페이스 XML 네임 스페이스의 JSON 객체입니다. 이 객체를 배열로 다시 디코딩해야한다는 말입니까? 심지어 비어있는 열쇠로 작동할까요? – Drazisil

+0

이것은 정확하지만 값을 얻기 위해 객체의 속성을 반복 할 수 있습니다. –

+0

그런 식으로 빈 문자열 키를 참조 할 수 있는지 모르셨습니까? 감사. – Drazisil

1

속성의 주문이 보장되지 않습니다. (당신은 당신이 찾고있는 것을 알고있는 경우) 그러나 권리를 찾기 위해 모든 속성을 반복 할 수 있습니다

for(var prop in obj) { 
    if(obj.hasOwnProperty(prop)) 
     doSomethingWith(obj[prop]); 
} 

참조 : Iterating over every property of an object in javascript using Prototype?

그런 다음

var value = obj[key]; 
+0

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/hasOwnProperty 빈 속성 인 것처럼 보이지 않습니다. – Drazisil

1

귀하가 열쇠를 얻을 이 코드를 사용해보십시오 :

var test_bject = {'test': 1, 'test2': 2, 'test3': 3}, first_value; 

for (i in test) { 
    first_value = test_object[i]; 
    break; 
} 
+0

그게 효과가있다. 내가 뭘하려고했는지 더 잘 말해야 했어. – Drazisil

관련 문제