《小白兔到大黑牛》第五篇手写Json

首先写一个Java Bean

public class Shouji {
private String pingpai;
private String price;
private String size;
private String yanse;

public Shouji() {

}

public Shouji(String pingpai, String price, String size, String yanse) {
    super();
    this.pingpai = pingpai;
    this.price = price;
    this.size = size;
    this.yanse = yanse;
}

public String getPingpai() {
    return pingpai;
}

public void setPingpai(String pingpai) {
    this.pingpai = pingpai;
}

public String getPrice() {
    return price;
}

public void setPrice(String price) {
    this.price = price;
}

public String getSize() {
    return size;
}

public void setSize(String size) {
    this.size = size;
}

public String getYanse() {
    return yanse;
}

public void setYanse(String yanse) {
    this.yanse = yanse;
}


public String toString() {
    return "Shouji [pingpai=" + pingpai + ", price=" + price + ", size=" + size + ", yanse=" + yanse + "]";
}

}
然后完成Json

public class JsonText05 {
public static void main(String[] args) {
//创建手机对象
Shouji shouji =new Shouji();
shouji.setPingpai(“华为”);
shouji.setPrice(“799”);
shouji.setSize(“5.5英寸”);
shouji.setYanse(“白色”);
//输出
System.out.println(“写出的Json格式”);
//调用方法
String json = ObjectToJson(shouji);
System.err.println(json);
//调用方法
Shouji shouji2=ShoujiToJios(json);
System.out.println(shouji2);

}
public static String ObjectToJson(Shouji b){
    //将Java里面的元素转换为Json格式
    String json="{\"pingpai\":\""+b.getPingpai()+"\",\"price\":\""+b.getPrice()+"\",\"size\":\""+
            b.getSize()+"\",\"yanse\":\""+b.getYanse()+ "}";
return json;

}
public static Shouji ShoujiToJios(String json){
    Shouji shouji=new Shouji();
    json =json.replaceAll("\"", "");//把双引号替换掉
    json=json.replaceAll("\\{", "");//把大括号去掉
    json=json.replaceAll("\\}", "");//把大括号去掉
    String[] data = json.split(",");//根据给定正则表达式的匹配拆分此字符串。
    for (String string : data) {//用增强For进行遍历
         String dat= string.substring(string.indexOf(":")+1);//截取:后面的数据索引+1
         if(string.contains("pingpai")){//调用者是否包含指定字符串
             shouji.setPingpai(dat);//将截取数据转为手机
         }else if(string.contains("price")){//调用者是否含指定字符串
            shouji.setPrice(dat);//将截取出来后年的字符串放在手机类
         }else if(string.contains("size")){
             shouji.setSize(dat);
         }else if(string.contains("yanse")){
             shouji.setYanse(dat);
         }
    }
    //返回 手机
    return shouji;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值