2013-03-04 65 views
1

以下是使用JSON響應我想提出GET請求HTTP API格式後得到解析輸入流,如何使用net.sf.json庫

[{"name":"test","tracing":false},{"name":"dyn1","tracing":false}, 
{"name":"dyn2","tracing":false},{"name":"esb","tracing":false}] 

請您發表的示例代碼解析這個json對象來獲取具有名稱和跟蹤的單個主機對象。

感謝,

阿莫爾

回答

1
String myDataAsAString = "[{\"name\":\"test\",\"tracing\":false},{\"name\":\"dyn1\",\"tracing\":false}, 
{\"name\":\"dyn2\",\"tracing\":false},{\"name\":\"esb\",\"tracing\":false}]"; 


JSONArray hostArray = JSONArray.fromObject(myDataAsAString); 

for(int i = 0; i < hostArray.size(); i++) 
{ 
    JSONObject hostObject = hostArray.getJSONObject(i); 
    String hostName = hostObject.getString("name"); 
    boolean tracing = hostObject.getBoolean("tracing"); 
    ...your code for each element here 
} 
-1

可以YSE GSON庫http://code.google.com/p/google-gson/

嘗試:

import com.google.gson.Gson; 


public class Test { 

    public static void main(String[] args){ 
    String json = "[{'name':'test','tracing':false},{'name':'dyn1','tracing':false},\n" + 
      "{'name':'dyn2','tracing':false},{'name':'esb','tracing':false}]"; 
    HostObj[] hostObjects = new Gson().fromJson(json, HostObj[].class); 
    } 


    class HostObj { 

    private String name; 
    private boolean tracing; 

    HostObj() { 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     name = name; 
    } 

    public boolean isTracing() { 
     return tracing; 
    } 

    public void setTracing(boolean tracing) { 
     tracing = tracing; 
    } 
    } 
} 
+2

笑,他要求一個特定的圖書館和你發佈一個不同;) – Reimius 2013-03-05 21:43:25