我有一些像这样的问题..
["IMG-20181223-WA0010.jpg","IMG-20181225-WA0013.jpg","IMG-20181229-WA0001.jpg"]
如何从java中的真实数组转换JSONArray?抱歉坏英语..
String[] stringArray = new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
stringArray[i]= (String)jsonArray.getJSONObject(i);
}
jsonArray
是您的JSON对象,stringArray
变量将存储为字符串数组类型
你应该尝试这样,它会帮助你
import net.sf.json.JSONArray;
public class JsonArraytoArray {
JSONArray jsonArray = new JSONArray();
public void convertJsonarrtoArray() {
jsonArray.add("java");
jsonArray.add("test");
jsonArray.add("work");
String[] stringArray = new String[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
stringArray[i] = jsonArray.getString(i);
}
System.out.println("stringArray " + stringArray.length);
}
public static void main(String[] args) {
JsonArraytoArray d = new JsonArraytoArray();
d.convertJsonarrtoArray();
}
}
您可以使用Java Streams为您执行此操作:
String[] data = new String[] { "value1", "value2", "value3" };
String jsonArray = "[\"" + Stream.of(data).collect(Collectors.joining("\", \"")) + "\"]";
蒸汽收集器在两个值之间添加", "
。现在只需在开头添加["
,然后添加相应的结尾。
我把JSONArray
放到字符串toString()
,我通过这样的正则表达式转换..
public String getImg(String d){
return rubahFormat(d).split(",");
}
public String rubahFormat(String d){
return d.replaceAll("[\\[\\]\\\"]","");
}
谢谢 ..