在速度模板中将字符串解析为JSONArray

时间:2017-06-06 10:02:11

标签: json velocity

我正在寻找一种方法将字符串解析为json数组,这样我就可以迭代它并访问其中的对象。我一直在寻找一段时间但没有帮助。

我找到了一种方法

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

但我想将一个本地字符串变量解析为json数组。我们怎么能这样做?

1 个答案:

答案 0 :(得分: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。

相关问题