package com.ljl.org.domain; import java.io.File; import java.util.HashMap; import java.util.Map; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonToken; import org.codehaus.jackson.map.ObjectMapper; import com.google.gson.Gson; import com.ljl.org.entity.Info; import com.ljl.org.entity.User; /** *@Author:liangjilong *@Date:2013-8-13 *@Email:jilongliang@sina.com *@Version:Version1.0 *@CopyRight:liangjilong *@Description:http://wiki.fasterxml.com/JacksonInFiveMinutes#Full_Data_Binding_.28POJO.29_Example * *===================================== * ===================================== * ☆★★建议解析json的有: * 1)GSON (gson-2.2.4.jar) * 2)json-lib-2.2.3-jdk15.jar-- * ☆不建议使用的: * JackSON比较扯淡(毛线) * 需要的jar * http://download.csdn.net/detail/jilongliang/5789041 * jackson-all-1.6.2.jar * jackson-core-asl-1.6.2.jar * jackson-mapper-asl-1.6.2.jar * jakarta-oro.jar * ===================================== * ===================================== */ public class Jackson1 { private static ObjectMapper mapper = new ObjectMapper(); public static void main(String[] args) throws Exception { jackSon1(); jackSon2(); } /** * 简单的JackSon测试,对比一下,不知道谁抄谁的!Gson和Json-lib-2.2.3-jdk15也有很多相似的 * 使用者两个技术的人都知道、、、、 * =================================================== * Gson创建一个JsonParser * JsonParser parser = new JsonParser(); * JsonElement jsonEl = parser.parse(json); * =================================================== * JackSon 创建一个JsonParser * JsonFactory f = new JsonFactory();//实例JSON工程对象 * JsonParser jp = f.createJsonParser(json); * =================================================== */ public static void jackSon1()throws Exception{ String json = "[{\"userName\": \"liangjilong\",\"address\":\"广东阳春\"},{\"userName\": \"liangjilong\",\"address\": \"广东阳春\"}]"; JsonFactory f = new JsonFactory();//实例JSON工程对象 JsonParser jp = f.createJsonParser(json); jp.nextToken();//下一个JsonToken while (jp.nextToken() == JsonToken.START_OBJECT) { User u = mapper.readValue(jp, User.class);//对象化 System.out.println(u.getUserName()+"\t"+u.getAddress()); } } /** * @throws Exception */ public static void jackSon2()throws Exception{ /** * 组装address对象的数据 */ Map<String, String> address = new HashMap <String, String>(); address.put("province", "广东省"); address.put("city", "广州市"); address.put("district", "天河区"); address.put("street", "棠东"); /** * 组装users对象的数据 */ Map<String, String> users = new HashMap <String, String>(); users.put("userName", "liangjilong"); users.put("age", "25"); users.put("tel", "12396878"); users.put("email", "jilongliang@sina.com"); Map<Object, Object> listsObj = new HashMap <Object, Object>(); listsObj.put("address",address);//address节点 listsObj.put("user",users);//users节点 Object obj=listsObj;//转换成对象 Map<Object, Object> info = new HashMap <Object, Object>(); info.put("info", obj);//json的根节点 //System.out.println(info); /** * 写 */ String path="D:/test/json1.txt"; mapper.writeValue(new File(path), info);//把数据写入本地文件,JackSon会以json格式写入进去的 /** * 读 */ String jsons=info.toString().replace("=", ":"); //用Gson处理/初次使用JackSon找不到处理json数据,由于之前使用Gson就熟悉,就借用一下处理,感觉有点毛线。O(∩_∩)O哈哈~无语. //String newJson=new Gson().toJson(info); String newJson=mapper.writeValueAsString(info); int start=newJson.indexOf(":")+1; int end=newJson.lastIndexOf("}"); jsons="["+newJson.substring(start, end)+"]";//组装JackSon支持的格式. JsonFactory f = new JsonFactory();//实例JSON工程对象 JsonParser jp = f.createJsonParser(jsons); jp.nextToken();//下一个JsonToken while (jp.nextToken() == JsonToken.START_OBJECT) { Info inf = mapper.readValue(jp, Info.class);//对象化 System.out.println(inf.getAddress().getDistrict());//获取Address对象的值 System.out.println(inf.getUser().getUserName());//获取User的值 } } }
package com.ljl.org.entity; /** *@Author:liangjilong *@Date:2013-8-13 *@Email:jilongliang@sina.com *@Version:Version1.0 *@CopyRight:liangjilong *@Description: */ public class Info { private Address address; private User user; public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
package com.ljl.org.entity; /** *@Author:liangjilong *@Date:2013-8-13 *@Email:jilongliang@sina.com *@Version:Version1.0 *@CopyRight:liangjilong *@Description: */ public class Address { private String province; private String city; private String district; private String street; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getDistrict() { return district; } public void setDistrict(String district) { this.district = district; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } }
package com.ljl.org.entity; /** *@Author:liangjilong *@Date:2013-8-13 *@Email:jilongliang@sina.com *@Version:Version1.0 *@CopyRight:liangjilong *@Description: */ public class User { private int Id; private String userName; private String tel; private String address; private String age; private String email; public int getId() { return Id; } public void setId(int id) { Id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
相关推荐
Map转JSON的所有jar包,含使用说明
首先客户端从服务器端获取json数据 1、利用HttpUrlConnection 代码如下:/** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exception */ public static String readParse(String urlPath) ...
sturts框架下返回json数据,可以是 list对象 map对象 或者java类对象等,这是一个完整的实例,里面有jar包。
JSON入门Java篇-4-用HashMap来构建JSON.rar
包含一个SSH框架实例和一个获取该服务器返回json数据的android app实例。 使用方法, 1.SHH是SSH框架的java wab工程,里面定义了一个action,启动apach-tomcat服务器后可在浏览器输入“localhost:8080/SSH/userjson...
《java编程思想》,Map结合HashMap获取键相关联的值
jdom 解析xml存入hashmap的例子 ~~~
java解析json字符串。 commons-beanutils-1.9.0 commons-collections-3.2.1 commons-lang-2.6 commons-logging-1.1.3 ezmorph-1.0.6 json-lib-2.4-jdk15 demo: package com; import java.util.ArrayList;...
json 转为map Java
用于解析Java JSON,里面的包有不少是根据链接收集的,但发现仍然不能完整执行。 经检查还是缺少commons-collections-3.2.1.jar这个包(过高的版本,如4.5不支持Json Lib)。 包名录如下: json-lib-2.2-jdk15.jar ...
Map map = newHashMap(); map.put("name","json"); map.put("bool",Boolean.TRUE); map.put("int", newInteger(1)); map.put("arr", new String[] {"a", "b" }); map.put("func", "function(i){return this.arr...
包含各种对象转换成json对象,还包含把对象中的属性转成hashmap 并且可以过滤为空的或者为null的对象
处理json格式数据。。 String s0 = "{cart_1325036696007:{goods_id:"100015",goods_name:"澳大利亚进口绵羊",goods_imgsrc:"http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg"...
list 转化成hashmap例子 java程序
Map,Object> map=HashMap,Object>(); map.put("sex","man"); toJson(map); /** * 将得到的数据以json格式进行输出,如果对象不存在则输出空字符串 * * @param obj * 要转换成json的对象 */ protected String...
Map, Object> map = new HashMap, Object>(); map.put("A", bean); bean.setName("jack"); map.put("B", bean); map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1));...
该小项目完整全面整理了java解析json各中写法,以及json的生成、遍历。 该项目收集整理json所需的jar包,使用文档。 /** * json的生成、遍历 */ import java.util.*; import net.sf.json.JSONArray; import ...
import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer;
HashMap的一个数据结构 锁升级:锁升级过程 resize的过程在开发中 怎么保证容器它线程安全后就是数据插入过程使用的头插法 但是头插法会造成一些问题等等等等的那个等等的那个等等的那个等等的那个等等的那个等等的...
比较分析Vector、ArrayList和hashtable hashmap数据结构