JAVA - JSON

来源:互联网 发布:珠海电视台网络电视 编辑:程序博客网 时间:2024/05/09 05:38
/** * xml 优点:描述数据比较准确,缺点:数据量大 * json 优点:数据量小, *  * json的序列化和反序列化 * json->java对象反序列化 * java->json 序列化 * json的语法规则 *  *  *  * 单一对象 * {属性1:值1,属性2:值2} *  * 数组对象 (重复对象) * [{属性1:值1,属性2:值2},{属性1:值1,属性2:值2}] * 数组不同对象 * {对象名1:{属性1:值1,属性2:值2},对象名2:{属性3:值3,属性4:值4}} *  */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//String str="{name:'张三',money:100}";//String str="[{name:'张三',money:100},{name:'李四',money:200}]";//String str="{stu:{stuname:'张三',stumoney:100},tea:{teaname:'李四',teamoney:200}}";//  {stu:{stuname:'张三',stumoney:100},stu:{stuname:'张三',stumoney:100},result:true}request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String p=request.getParameter("p");System.out.println(p);



JAVA- json转换:



package com.genomics.core;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JSONObjectToBean {/** *  * @param obj  * @param c * @return */public static Object convert(JSONObject obj,Class<?> c){Object returnObject=null;try {returnObject = c.newInstance();} catch (InstantiationException e1) {e1.printStackTrace();} catch (IllegalAccessException e1) {e1.printStackTrace();}Field[] fields=c.getDeclaredFields();for(Field f:fields){try{System.out.println(f.getName()+"-----------"+f.getType());ReflectUtil.setValue(f, returnObject, new Object[]{LangUtil.formatObject(f.getType(), obj.getString(f.getName()))});}catch(Exception e){}}return returnObject;}   public static List convertList(JSONArray array,Class<?> c){List list =new ArrayList();for(int i=0;i<array.size();i++){Object returnObject=null;try {returnObject = c.newInstance();} catch (InstantiationException e1) {e1.printStackTrace();} catch (IllegalAccessException e1) {e1.printStackTrace();}Field[] fields=c.getDeclaredFields();JSONObject obj=(JSONObject)array.get(i);for(Field f:fields){try{ReflectUtil.setValue(f, returnObject, new Object[]{LangUtil.formatObject(f.getType(), obj.getString(f.getName()))});}catch(Exception e){}}list.add(returnObject);}return list;}   public static List convertList(JSONArray array,Class<?> c,boolean StringNull2Blank){List list =new ArrayList();for(int i=0;i<array.size();i++){Object returnObject=null;try {returnObject = c.newInstance();} catch (InstantiationException e1) {e1.printStackTrace();} catch (IllegalAccessException e1) {e1.printStackTrace();}Field[] fields=c.getDeclaredFields();JSONObject obj=(JSONObject)array.get(i);for(Field f:fields){try{ReflectUtil.setValue(f, returnObject, new Object[]{LangUtil.formatObject(f.getType(), obj.getString(f.getName()),StringNull2Blank)});}catch(Exception e){}}list.add(returnObject);}return list;}}


。。。




...