2014-03-13 2 views
0

데이터 저장소 (JsonRest)로 dijit.form.Select (Dojo Select-Box)를 피드 싶습니다.JSON에서 문자열 제거

{ 
    "data": [ 
     {id:"1", name:"One1"}, 
     {id:"2", name:"Two1"} 
], 
    "total": 2, 
    "start": 0, 
    "sort": "name", 
    "order": "asc", 
    "size": 2 
}; 

이유입니다 :

[ 
    {id:"1", name:"One1"}, 
    {id:"2", name:"Two1"} 
]; 

우리가 호출 할 웹 어플리케이션의 REST-API는 다음과 같은 JSON을 제공합니다 : 문제는 JSON 파서는이 형식으로 JSON을 수락하는 것입니다 선택 상자에 데이터가 표시되지 않습니다. 따라서 JSON 메시지의 부분과 마지막 부분을 Dojo 선택 상자로 전달하여 { "data": 부분을 제거해야합니다.

데이터는 JsonRest 개체에 저장됩니다.

[ 
    {id:"1", name:"One1"}, 
    {id:"2", name:"Two1"} 
]; 

답변과 안부 주셔서 감사합니다 : 그래서 문제는 우리가 처음 단순히 여기가 선택 박스에 부여하는 방식으로 JSON의 마지막 부분을 제거하는 방법입니다 이제 도장을 dojoSelectArray을 통과

답변

3

은 ... 간단한 것 선택

var restapidataObj = { 
    "data": [ 
     {id:"1", name:"One1"}, 
     {id:"2", name:"Two1"} 
    ], 
    "total": 2, 
    "start": 0, 
    "sort": "name", 
    "order": "asc", 
    "size": 2 
}; 

var dojoSelectArray = restapidataObj.data; 

을 도장에 대한 데이터에서 새로운 배열 변수를 만듭니다

1

결과를 오브젝트에 저장하고 해당 오브젝트의 데이터 특성에 액세스하십시오.

var result = { 
    "data": [ 
    {id:"1", name:"One1"}, 
    {id:"2", name:"Two1"} 
], 
    "total": 2, 
    "start": 0, 
    "sort": "name", 
    "order": "asc", 
    "size": 2 
}; 

result.data 당신에게 data 배열을 줄 것이다. MDN

+0

에게 제공하지만, 나는 "데이터"를 제거해야합니다 [부분과 메시지의 마지막 부분. 그렇지 않으면 Dojo 선택 상자에 아무 내용도 표시되지 않습니다. 문제는 "데이터"를 어떻게 제거 할 수 있는가입니다 : [JSON 문자열? – Ben

+0

'result.data'는' {id : "1", 이름 : "One1"}, {id : "2", 이름 : "Two1"} ] –

+0

감사합니다. 어떻게 JsonRest에서 객체로 데이터를로드 할 수 있습니까? – Ben

0

resultFromServer =

 { 
     "data": [ 
      {id:"1", name:"One1"}, 
      {id:"2", name:"Two1"} 
    ], 
     "total": 2, 
     "start": 0, 
     "sort": "name", 
     "order": "asc", 
      "size": 2 
    }; 

이 변환에 자바 스크립트 객체 문서 객체하기

확인이 당신의 출력을 제공

var Output = eval('('+ resultFromServer+')') 

(resultFromServer 넣다이 사용은 문자열)

JSON.stringify(Output.data) 

문자열 좋아

"[{"id":"1","name":"One1"},{"id":"2","name":"Two1"}]" 
관련 문제