数据传输---json
2015-08-25 15:05
537 查看
{键:值} {"firstName":"Bill" , "lastName":"Gates"} 标准板式 值是一个数组的json: 外层键是employees,值是数组。数组里面又是json {"employees": [{ "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] } json的官网 www.json.org 常用的是google-gson版本的。包名是 gson-2.2.4.jar 解析json JsonParser jp = new JsonParser(); //创建json解析器 JsonObject object = (JsonObject) jp.parse(new FileReader("test.json"));//读取文件中数据转为jsonObject对象 System.out.println("查出来的是:"+object.get("liu").getAsString());//在jsonObject对象中根据键获取值,第一个get获取到的是jsonElement。第二个get把它转换为string System.out.println("查出来的是:"+object.get("bools").getAsBoolean());//获取布尔 JsonArray array = object.get("employees").getAsJsonArray();//获取转换为json数组 for(int i=0;i<array.size();i++){//因为employees值是数组,数组中又是json对象。遍历数组 System.out.println("----"); JsonObject subobject = array.get(i).getAsJsonObject();//获得数组中的第一个元素,并将转为jsonObjec对象 System.out.println(subobject.get("firstName").getAsString());//同上根据键获取jsonObjec对应的值 System.out.println(subobject.get("lastName").getAsString()); } 生成json JsonObject jo = new JsonObject(); //创建JsonObject对象 //jo.add(property, value); //是在jo中添加一个JsonObject才用 jo.addProperty("cat", "it");//在jo对象中添加一个普通的键值对 JsonArray array = new JsonArray(); //创建一个JsonArray数组对象 JsonObject lan1 = new JsonObject(); //创建JsonObject对象lan1 lan1.addProperty("id", 1); lan1.addProperty("name", "java"); lan1.addProperty("ide", "Eclipse"); array.add(lan1); //把lan1对象添加到array数组中 JsonObject lan2 = new JsonObject(); //创建JsonObject对象lan2 lan2.addProperty("id", 2); lan2.addProperty("name", "swift"); lan2.addProperty("ide", "xcode"); array.add(lan2); //把lan2对象添加到array数组中 jo.add("langs", array);//把array数组添加到jo对象中,array是一个json所以用add jo.addProperty("bool", true);//在jo对象中添加一个普通的键值对 JsonObject lan3 = new JsonObject(); //创建JsonObject对象lan3 lan3.addProperty("id", 3); lan3.addProperty("name", "c#"); lan3.addProperty("ide", "visual studio"); jo.add("lan3", lan3); //同上lan3是一个json对象所以用add添加 System.out.println(jo.toString());//将json对象转换为字符串。可以直接拷贝控制台输出的结果到文本中,也可这样直接传输 阿里巴巴的json。Jar import com.alibaba.fastjson.JSON; public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。 来自 <http://blog.csdn.net/glarystar/article/details/6654494> 经典的: String sss = postMaiDian(time1, time2, page, pageDat); //获得一个json字符串 net.sf.json.JSONArray arry = net.sf.json.JSONArray.fromObject(sss); System.out.println("json字符串内容如下"); System.out.println(arry); List<Map<String, String>> rsList = new ArrayList<Map<String, String>>(); for (int i = 0; i < arry.size(); i++) { JSONObject jsonObject = arry.getJSONObject(i); Map<String, String> map = new HashMap<String, String>(); for (Iterator<?> iter = jsonObject.keys(); iter.hasNext();) { String key = (String) iter.next(); String value = jsonObject.get(key).toString(); map.put(key, value); } rsList.add(map); } System.out.println(rsList.toString());
相关文章推荐
- js实现的tab标签切换效果代码分享
- js特效之_滚动标题
- JavaScript实现向右伸出的多级网页菜单效果
- Helper::seekWidgetByName 在JSB环境下的优化
- JS与C#的数据交互
- JavaScriptDOM基础
- js禁用"Backspace"键(即禁止网页倒退)
- javascript--JavaScript 三种创建对象的方法
- JSP中实现在某页面停留5秒后,自动重定向到另一页面
- Json 入门例子 多行数组 【1】
- 九宫格抽奖HTML+JS版
- gemojifyjs插件的用法,一款用于转换某些文本为表情图标的插件
- OCX 打包 CAB 与 JS 调用详细教程
- jsoup 1.8.3 重构,添加代理请求
- js URL正则匹配
- javascript事件处理的三种方式
- 使用电脑远程调试安卓手机上浏览器的JS
- 简单实现JSON字符串的可视化
- JS+AJAX 实现用户登录
- 5. JavaScript RegExp 类型