[英]Convert JSON array of strings to Java?
I am trying to convert a JSON String array to Java which is given from this piece of javascript: 我正在尝试将JSON字符串数组转换为Java,这是从这段javascript中给出的:
javaFunction(["a1", "a2"]); <--- This is called in javascript
In Java 在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];
}
}
You can use this : 您可以使用:
List<String> list = new ArrayList<String>();
for(int i = 0; i < jsonStringArray.length(); i++){
list.add(jsonStringArray.getJSONObject(i).getString("name"));
}
I solved it using this: 我用这个解决了:
In the JavaScript: 在JavaScript中:
javaFunction(JSON.Stringify(["a1", "a2"]));
In Java 在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));
}
}
Trim first and last bracket; 修剪第一个和最后一个括号;
ie jsonArrayString = jsonArrayString.subStr(1,jsonArrayString.length()-1);
即
jsonArrayString = jsonArrayString.subStr(1,jsonArrayString.length()-1);
you will get "a1","a2","a3","a4" 您将得到“ a1”,“ a2”,“ a3”,“ a4”
Then use String's split function. 然后使用String的split函数。
String[] convertedArray= jsonArrayString.split(",");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.