首页 > 学院 > 开发设计 > 正文

java中json包的使用以及字符串,map,list,自定义对象之间的相互转换

2019-11-14 14:59:24
字体:
来源:转载
供稿:网友

做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包.

经过多方尝试得出结论入下:

首先导入基本包:json-lib-2.2.3-jdk15.jar

如果没有这个jar包,程序是写不起来的.

现在保证了程序编译能够通过,跑一下

出现异常:org/apache/commons/lang/exception/NestableRuntimeException

导入commons-lang-2.3.jar,问题解决.

跑一下:

出现异常:java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher

导入ezmorph-1.0.3.jar,问题解决

跑一下:

出现异常:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

导入commons-logging-1.1.1.jar,问题解决

跑一下:

出现异常:java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap

导入commons-collections-3.2.1.jar,问题解决

跑一下:

出现异常:java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean

导入commons-beanutils-1.7.0.jar,问题解决

跑一下,异常没了.

下面来看看这些东西是怎么转换的.

map转string

Map<String, String> map=new HashMap<String, String>();map.put("name", "思思博士");map.put("age","25");
JSONObject jsonObject=JSONObject.fromObject(map);String res
=jsonObject.toString();System.out.PRintln(res);

结果:{"age":"25","name":"思思博士"}

list转string

List<String> list=new ArrayList<String>();list.add("中华");list.add("人名");list.add("共和国");        JSONArray jsonArray=JSONArray.fromObject(list);String res=jsonArray.toString();System.out.println(res);

结果:["中华","人名","共和国"]
string转map

String res="{/"age/":/"25/",/"name/":/"思思博士/"}";//或者这样//res="{'age':'25','name':'思思博士'}";JSONObject jsonObject=JSONObject.fromObject(res);Map<String,String> map = (HashMap<String,String>) JSONObject.toBean(jsonObject, HashMap.class);System.out.println(map);System.out.println(map.size());System.out.println(map.get("name"));System.out.println(map.getClass().getName());

结果:

{name=思思博士, age=25}
2
思思博士
java.util.HashMap

String 转成我们的自定义类

UserBean.java

package json;public class UserBean {    private String name;    private String age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    } }
String userS = "{'name':'思思博士','age':'25'}";JSONObject obj = JSONObject.fromObject(userS);UserBean userBean = (UserBean) JSONObject.toBean(obj, UserBean.class);System.out.println(userBean.getName());

字符串转换成list

String arrayString="['a','b','ccc']";JSONArray jsonArray=JSONArray.fromObject(arrayString);Object[] arr=jsonArray.toArray();System.out.println(arr.length);System.out.println(arr[2]);

结果:

3
ccc

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表