2014-01-06 49 views
0

我沒有太多熟悉Java。但我知道在PHP中,我們可以使用json_decode函數。 java中是否有任何特定的函數將下面的字符串解碼爲數組?轉換JSON字符串數組在Java中

[ { 
    "type" : "panaroma", 
    "image" : "http://test.com/images/aneesh/Desktop/19_september/pano-1.png", 
    "location" : "{{487,393},{197,235}}", 
    "trigger" : "{{487,393},{197,235}}", 
    "orientation" : "portrait",  
} ] 
+1

不可與標準的Java,你必須使用一個第三方的lib如[GSON(https://code.google。 COM/p /谷歌GSON /) – A4L

+0

你將需要給定的字符串來'JSONObject'代替'JSONArray'進行轉換,因爲當前字符串包含'JsonObject'作爲根元素,而不是'JsonArray': 的JSONObject的JSONObject =新的JSONObject( readlocationFeed); – Janty

+0

http://stackoverflow.com/questions/1688099/converting-json-to-java/1688182#1688182 – Gangnus

回答

0

看看這個:http://www.tutorialspoint.com/json/json_java_example.htm
有些人喜歡這樣的:

import org.json.simple.JSONObject; 
import org.json.simple.JSONArray; 
import org.json.simple.parser.ParseException; 
import org.json.simple.parser.JSONParser; 

class JsonDecodeDemo 
{ 
    public static void main(String[] args) 
    { 
     JSONParser parser=new JSONParser(); 
     String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]"; 
     try{ 
     Object obj = parser.parse(s); 
     JSONArray array = (JSONArray)obj; 
     System.out.println("The 2nd element of array"); 
     System.out.println(array.get(1)); 
     System.out.println(); 

     JSONObject obj2 = (JSONObject)array.get(1); 
     System.out.println("Field \"1\""); 
     System.out.println(obj2.get("1"));  

     s = "{}"; 
     obj = parser.parse(s); 
     System.out.println(obj); 

     s= "[5,]"; 
     obj = parser.parse(s); 
     System.out.println(obj); 

     s= "[5,,2]"; 
     obj = parser.parse(s); 
     System.out.println(obj); 
     }catch(ParseException pe){ 
     System.out.println("position: " + pe.getPosition()); 
     System.out.println(pe); 
     } 
    } 
}