将JSON字符串数组转换为Java?

时间:2014-11-21 12:15:33

标签: java javascript json converter

我正在尝试将JSON String数组转换为Java,这是从这段javascript中提供的:

javaFunction(["a1", "a2"]); <--- This is called in javascript

在Java中

public static void javaFunction(<What here?> jsonStringArray){  //<---- This is called in Java
    //Convert the JSON String array here to something i can iterate through,
    //For example:

    for(int index = 0; index < convertedArray.length; index++){
        System.out.println(convertedArray[index];
    }
}

3 个答案:

答案 0 :(得分:0)

您可以使用:

List<String> list = new ArrayList<String>();
for(int i = 0; i < jsonStringArray.length(); i++){
  list.add(jsonStringArray.getJSONObject(i).getString("name"));
  }

答案 1 :(得分:0)

我用这个解决了它:

在JavaScript中:

javaFunction(JSON.Stringify(["a1", "a2"]));

在Java中

public static void javaFunction(String jsonArrayString){
   JSONArray jsonArray = new JSONArray(jsonArrayString);
   List<String> list = new ArrayList<String>();
   for(int i = 0; i < jsonArray.length(); i++){
      list.add(jsonArray.getString(i));
   }
}

答案 2 :(得分:0)

修剪第一个和最后一个括号;

<强>即 jsonArrayString = jsonArrayString.subStr(1,jsonArrayString.length()-1);

你会得到&#34; a1&#34;,&#34; a2&#34;,&#34; a3&#34;,&#34; a4&#34;

然后使用String的分割功能。

String[] convertedArray= jsonArrayString.split(",");