2011-01-22 7 views
0

Java에서 http 요청으로 얻는 아래 형식의 JSON 문자열이 있습니다. 아래 JSON 문자열의 이름과 값을 가져와야하지만 올바른 해결책을 얻을 수 없습니다.JSON/Gson을 사용하여 JSON 문자열 읽기

아무도이 구문 분석 방법을 알려줄 수 있습니까? 또한 3 요소의 속성 이름이 없기 때문에이 문자열을 형식화 할 수 있는지 여부를 알려주십시오.

문자열 형식은 질문을 포맷

{ 

'appname':'application', 
'Version':'0.1.0', 
'UUID':'300V', 
'WWXY':'310W', 
'ABCD':'270B', 
'YUDE':'280T' 

} 

편집 # 1.

+0

누락 된 요소의 속성 이름은 무엇입니까? 세 번째 요소는''UUID ':'300V ''이고 다른 모든 것들처럼 보입니다. 그렇지 않습니까? – maaartinus

답변

0

어떤 언어로 하시겠습니까? 여기

는 PHP를위한 솔루션입니다 :

$data = json_decode('the json'); 
+0

자바에서 수행하고 싶습니다 – user587092

3

자바 스크립트에서,이 스크립트는 APPNAME을 알려드립니다 예를 들어

var v = eval("("+data_from_server+")"); 
var aName = v.appname; 

처럼 뭔가를 할 수 있습니다.

this answer에 대한 귀하의 의견을 바탕으로
<script> 
     var serverdata = "{'appname':'application', 'Version':'0.1.0', 'UUID':'300V', 'WWXY':'310W', 'ABCD':'270B', 'YUDE':'280T'}"; 
     var v = eval("("+serverdata+")"); 
     alert(v.appname); 
    </script> 

가 여기에 자바에서

자바

에 구문 분석하는 방법입니다, 당신은 GSON을 활용 할 수 있습니다. See here.

JSON 개체를 일대일로 매핑하는 Java 클래스를 정의해야합니다. 그런 다음 GSON에게 JSON 문자열을 사용하여 Java 객체를 생성하도록 요청하십시오. 다음은 그 예입니다. JSON이

public class MyData{ 
     public String appname; 
     public String Version; 
     public String UUID; 
     public String WWXY; 
     public String ABCD; 
     public String YUDE; 
     public MyData(){} 
    } 

과 같아야합니다 그리고 당신은이 같은 자바 구문 분석 매핑

자바 클래스입니다.

String jsons = "{'appname':'application', 'Version':'0.1.0', 'UUID':'300V', 'WWXY':'310W', 'ABCD':'270B', 'YUDE':'280T'}"; 
    Gson gson = new Gson(); 
    MyData obj = gson.fromJson(jsons, MyData.class); 
    System.out.println("ada "+ obj.appname); 
+0

또는 JSON.parse(); 그것이 존재하는 경우 :) – arnaud576875

+0

세 번째 요소 이후 'UUID': '300V'는 목록과 같습니다. 여기서 UUID와 300V는 모두 읽혀 져야합니다 ..... 여기 UUID는 속성 이름이 아닙니다 .... 우리는 그것을 읽을 수 있습니까?이 형식으로 가능합니까 ... ?? 우리는 말할 수 없다 .UUID .. – user587092

+0

@ user576875 - 안녕하세요. 나는 결코 그것을 사용하지 않았다. @ user585900 - 나는 당신을 얻지 못했다. 당신의 JSON은 재산이라고 말한다. 그것이 배열 인 경우. 질문을 업데이트하십시오. 배열 일지라도. 그것은 읽을 수 있습니다. 그건 그렇고, 위의 자바 스크립트를 자바로 요청하지 않습니다. 나는 그 질문을 갱신했다. – Nishant