总结Java对象、集合和Json之间的相互转换。
1、创建的用户类:
package com.ghj.packageofdomain;
公共类用户{
私有int id;
私有字符串名称;
私有字符串生成器;
公共用户() }
}
公共用户(intid,String name,String gender )。
this.id=id;
this.name=name;
this.gender=gender;
}
公共获取
返回id;
}
公共void setid (intid ) {
this.id=id;
}
公共字符串获取名称
return name;
}
公共void set name (string name ) {
this.name=name;
}
公共字符串获取生成器
返回生成器;
}
公共语音生成器(字符串生成器)。
this.gender=gender;
}
@Override
公共字符串
return 'id=' id ',name=' name ',gender=' gender;
}
} 2、Java对象、集合和Json之间的相互转换:
I、Java对象和Json之间的相互转换:
package com.ghj.packageoftest;
import net.sf.json.JSONObject;
import com.ghj.packageofdomain.user;
公共类测试{
publicstaticvoidmain (string [ ] args ) {
system.out.println (objecttojsonstring ();
jsonstringtoobject (objecttojsonstring () );
}
//*
将Java对象转换为Json字符串
*
* @author儒家红牛
*/
静态字符串对象(例如
jsonobjectjsonobject=JSON object.from object (new user (1,"寂寞的冬天","男人" ) )
return jsonObject.toString (;
}
//*
将Json字符串转换为Java对象
*
* @author儒家红牛
*/
staticvoidjsonstringtoobject (stringjsonstring )。
jsonobjectjsonobject=JSON object.from object (JSON string );
useruser=(user ) JSONobject.tobean ) JSONobject,User.class;
system.out.println(user );
}
(ii、Java集合和Json之间的相互转换:
package com.ghj.packageoftest;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import com.ghj.packageofdomain.user;
公共类测试{
publicstaticvoidmain (string [ ] args ) {
system.out.println (collectiontojsonstring ();
jsonstringtocollection (collectiontojsonstring ();
}
//*
将Java集合转换为Json字符串
*
* @author儒家红牛
*/
staticstringcollectiontojsonstring (
List userList=new ArrayList (;
Userlist.add(newuser(1,'寂寞的冬天','男人') )
Userlist.add(newuser(2,' klddb ','女');
Userlist.add(newuser(3,'奋斗的长椅','男人') )
jsonarrayjsonarray=JSON array.from object (userlist );
return jsonArray.toString (;
}
//*
将Json字符串转换为Java集合
*
* @author儒家红牛
*/
staticvoidjsonstringtocollection (stringjsonstring )。
jsonarrayjsonarray=JSON array.from object (JSON string );
@suppresswarnings('unchecked ' ) )。
listuserlist=(list ) JSONArray.tocollection ) JSONArray,User.class;
用户:用户列表{
system.err.println(user );
}
}
}注意:
1、上面的User类不仅具有带参数的构造函数,而且具有不带参数的构造函数。 为什么需要没有参数的构造函数呢? 呵呵,为了构建用户实例的方面,我们添加了一个有参数的构造函数,但是正因为有了这个构造函数,我们才必须添加一个无参数的构造函数。 否则,将出现以下异常:
如果您不介意构建User实例的复杂性,可以完全消除这两个构造函数——实际上在这种情况下仍然存在无参数构造函数。 啊,总之,要实现Json字符串到Java实例或集合的转换,关联类必须具有无参数构造函数。
2、Java对象、集合和Json之间的相互转换需要用合适的jar包来实现,这些jar包可以通过Demo获得