将String转化为数组

问题描述:java web开发时,前台传了一个String数组,但是后台接收的时候是String类型, 那么就需要将String转为String数组。

首先要清楚有两种包都支持字符串转json数据,它们的语法并不相同。

这两个包分别是:org.jsonjson-lib;(如果是用json-lib的话还需要另外5个jar包)

 

1. 使用json-lib

import net.sf.json.JSONArray;

public class test {
	public static void main(String[] args) {
		
		String str = "[1,2,3,4]";
		JSONArray jsonArr = JSONArray.fromObject(str);
		
		System.out.println("str = "+str);
		System.out.println("jsonArr = "+jsonArr);
		
		String string[] = new String[jsonArr.size()];
		for(int i=0;i<jsonArr.size();i++) {
			string[i] = jsonArr.get(i).toString();
			System.out.println("string["+i+"] = "+string[i]);
		}
	}
}

 运行结果:

str = [1,2,3,4]
jsonArr = [1,2,3,4]
string[0] = 1
string[1] = 2
string[2] = 3
string[3] = 4

 

使用JSONArray需要6个包

建议使用Maven引入依赖包

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.7.0</version>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>net.sf.ezmorph</groupId>
        <artifactId>ezmorph</artifactId>
        <version>1.0.3</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>

也可以手动下载导入 https://download.csdn.net/download/C_B_W_/18162392

2. 使用org.json

String str = "[1,2,3,4]";
JSONArray jsonArr = new JSONArray(str);
		
String string[] = new String[jsonArr.length()];
for(int i=0;i<jsonArr.length();i++) {
    string[i] = jsonArr.get(i).toString();
}

两种方法结果是一样的。 


版权声明:本文为C_B_W_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。