解析json字符串
首先我们系统中要用到JSON解析,所以要引入这六个jar包。不引入这六个jar包的话,使用JSONObject.fromObject 和 SONObject.toBean会报错,而且有的时候编译器不会告诉你是jar包缺少的错误哦!
使用maven,pom文件需要添加下面内容,注意:最关键的net.sf.json-lib这个依赖里面必须是jdk15
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier><!-- jdk版本 -->
</dependency>
方法一
public class JsonTest {
public static void main(String[] args){
//先将json字符串转为json对象
String str = "{\"name\":\"xiaohong\",\"password\":\"654321\"}";
JSONObject jsonObject = JSONObject.fromObject(str);
//再根据json对象中的键得到它的值
String name = jsonObject.getString("name");
System.out.println(name);
}
}
方法二
public class JsonTest {
public static void main(String[] args){
//先将json字符串转为json对象
JSONObject obj = new JSONObject().fromObject(str);
//再将json对象转为java对象
User user = (User)JSONObject.toBean(obj, User.class);
String password = user.getPassword();
}
}
将java对象转为json字符串
public class JsonTest {
public static void main(String[] args){
//先将java对象转为json对象
User user = new User();
JSONObject json = JSONObject.fromObject(user);
//再将json对象转为json字符串
String jsonStr = json.toString();
}
}