json和goson区别和使用

Json 的配置方式

主方法

       public static void main(String[] args) {

              //put生成josn数据

              putjoson();

              //map生成JOSN

              mapjose();

       }

  1. 直接添加的方式

private static void putjoson() {

                           JSONObject json=new JSONObject();//创建一个jsonobject

                    Object nulls=null;

                    try {

                            json.put("name", "佟有德");//加入属性

                            json.put("age", 28);

                            json.put("birthday", "2017");

                            json.put("major", new String[]{

                                          "HTML5","敲java","玩redis"

                            });//加入数组

                            json.put("grilfiend", true);//插入布尔数值

                            json.put("host", false);

                            json.put("car", nulls);//传入空值

                            System.out.println(json.toString());

                           

                           

                     } catch (JSONException e) {

                            // TODO Auto-generated catch block

                            e.printStackTrace();

                     }

                   

       }

2.通过map集合的方式

//通过添加map集合方式构着Josn,

       public static void mapjose(){

              Object nulls=null;

              Map<String, Object> map=new HashMap<String, Object>();

              map.put("name", "佟有德");//加入属性

              map.put("age", 28);

              map.put("birthday", "2017");

              map.put("major", new String[]{

                            "HTML5","敲java","玩redis"

              });//加入数组

              map.put("grilfiend", true);//插入布尔数值

              map.put("host", false);

              map.put("car", nulls);//传入空值

              System.out.println(new JSONObject(map).toString());//把map转成josn

                     }

3.通过实体类

//通过实体类

       public static void pojo(){

              User user=new User();

              user.setName("toangyoude");

              user.setCar(null);

              user.setMajor(new String[]{ "html","peis"});

              System.out.println(new JSONObject(user).toString());//把map转成josn

       }

从文件读取

import java.io.File;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

public class jiexi {

              //从文件读取json

       public static void main(String[] args) throws IOException, JSONException {

              File  file=new File(jiexi.class.getResource("/wang.json").getFile());//读取包下josn文件

              String d=FileUtils.readFileToString(file);//读取文件内容

              JSONObject j=new JSONObject(d);//构建josn

              System.out.println("姓名:"+j.getString("name"));//josn读取为string类型,传入参数为json的key

              JSONArray ja= j.getJSONArray("major");//

              for (int i = 0; i < ja.length(); i++) {

                    String dy=(String)ja.get(i);

                    System.out.println("喜欢:"+i+dy);

              }

       }

}

判空

       if(!j.isNull("name")){

                     System.out.println("姓名:"+j.getString("name"));//josn读取为string类型,传入参数为json的key

              }//判空,非空打印

             

多个数据传递(easy uI)

Js部分

var selectobject = $("#table").datagrid("getSelections");//得到用户选择行(集合)

    var url = "item/delet";//定义链接服务器的地址

    var ids=[];//用来存放用户选择的ID

    //选择了商品

    $.messager.confirm('提示!','是否删除',function(result){

    //result 是boolean类型 点确定是ture

        if(result){

            for(i=0;i<selectobject.length;i++){ //selectobject

                //得到当前选中行的id

                var id = selectobject[i].id;

                console.log(id);

                ids.push(id);//把id 加入到数组

                /* ids+="&ids="+id */

                url+="?ids="+ids;

                console.log(url);

                //item/delet?ids=1356117?ids=1356117,1355561?ids=1356117,1355561,1352516

                //请求controller

                $.get(url,function(data){ //json{isuccess:true}

                   console.log(data);

                    console.log("data类型:"+typeof(data));

                    if(data){

                       //删除成功

                       $("#table").datagrid("reload");//重新加载页面

                   }

                });

            }

        }

    });

}

CONTROLLER

//删除用的方法

  @RequestMapping("/delet")

  @ResponseBody

  public Map<String, Object> delet(String ids){

      //截取字符串

      System.out.println(ids);

      String[] disstring = ids.split(",");

      List<Long> idlist = new ArrayList<Long>();

      for (String adds : disstring) {

          System.out.println("idlist集合加入:"+adds);

          idlist.add(Long.parseLong(adds));

    }

     

      int i = tbitemService.updatedelet(idlist);

     

      return Restut.Restuts(i);//调用Restut工具类

   

  }

工具类

public class Restut {

    public static Map<String, Object> Restuts(int i){

   

     Map<String, Object> map=new HashMap<String, Object>();

      if (i >0) {

          map.put("isuccess",true);//返回true让页面跳转

       

    } else {

          map.put("isuccess",false);//返回false让页面停留

     }

     

      return map;

    }

}

Gson

实体类方式

package gson;

import com.google.gson.Gson;

import josn.pojo.User;

public class goson_test {

       public static void main(String[] args) {

              // TODO Auto-generated method stub

              User user=new User();

              user.setName("鲁克诗");

              user.setCar(null);

              user.setMajor(new String[]{ "打游戏","写程序"});

              Gson gson=new Gson();//创建

              System.out.println(gson.toJson(user));//转换成json

       }

}

Map集合转json

       Map<String, Object> map=new HashMap<String, Object>();

              Object nulls=null;

              map.put("name", "佟有德");//加入属性

              map.put("age", 28);

              map.put("birthday", "2017");

              map.put("major", new String[]{

                            "HTML5","敲java","玩redis"

              });//加入数组

              map.put("grilfiend", true);//插入布尔数值

              map.put("host", false);

              map.put("car", nulls);//传入空值

              Gson gson1=new Gson();//创建

              System.out.println(gson1.toJson(map));//转换成json

对jsp 美化

       public static void main(String[] args) {

              // TODO Auto-generated method stub

              User user=new User();

              user.setName("鲁克诗");

              user.setCar(null);

              user.setMajor(new String[]{ "打游戏","写程序"});

              user.setIng("不显示!");//实体类中属性类型定义为transient讲不会出现在json

             

              GsonBuilder gsons=new GsonBuilder();//在获取json时插入数据

              gsons.setPrettyPrinting();//格式化JSON

              gsons.setFieldNamingStrategy(new FieldNamingStrategy() {

                    

                     @Override

                     public String translateName(Field f) { //重写方法修改KEY

                            // TODO Auto-generated method stub

                            if (f.getName().equals("name")) {

                                   return "Name";

                            }

                            return f.getName();

                     }

              });//json修改

             

              Gson gson=gsons.create();//创建

              System.out.println(gson.toJson(user));//转换成json}}

从文件读取

package gson;

import java.io.File;

import java.io.IOException;

import org.apache.commons.io.FileUtils;

import com.google.gson.Gson;

import josn.pojo.User;

import josns.jiexi;

public class filejson {

       public static void main(String[] args) throws IOException {

              File  file=new File(jiexi.class.getResource("/wang.json").getFile());//读取包下josn文件

              String d=FileUtils.readFileToString(file);//读取文件内容

        Gson gson=new Gson();

        User tyd=gson.fromJson(d, User.class);//实体类泛解析读取json

        System.out.println(tyd);//实体类须有tostring

       

       }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值