2017-06-06 50 views
0

我正在尋找一種將字符串解析爲json數組的方法,以便我可以迭代它並訪問其中的對象。我一直在四處尋找,但沒有任何幫助。在速度模板中將字符串解析爲JSONArray

我發現這是

#set ($myjson = $json.fetch('http://www.url.org/feeds/json-packages.dot')) 

的一種方式,但我想分析一個本地字符串變量成JSON數組。我們怎麼做到這一點?

回答

1

您可以使用類似this的庫,並將速度上下文中放入一個「JSONUtils」對象。這個對象將暴露的方法「jsonArrayFromString」,其實施是簡單的

public JSONArray jsonArrayFromString(String jsonString) { 
    try { 
     return new JSONArray(jsonString); 
    } catch (JSONException e) { 
     throw new RuntimeException(e); 
    } 
} 

這裏是JSONArray類的文檔。然後你就可以在你的模板中使用這個對象是這樣的:

#set ($myjson = $JSONUtils.jsonArrayFromString($myString)) 
#set ($length = $myjson.length()) 
#foreach($i in [0..$length-1]) 
    ## Use one of the getter methods for the object in this index. 
#end 

當然,你也可以把從一個字符串創建一個JSONObject類似的方法。