java json linux_java中json的使用方法

josn:

一种数据传输格式,与开发语言无关,轻量级

一开始是javaScript的,但是后面比较流传,几乎所有语言都有相应的使用API

5e1928d379dad87521463bb88cd8d388.png

数据结构:

Object---对象

使用花括号{}包含的键值对结构

Key必须是String类型,value为任何基本类型或者数据结构(对象,或者数组)

Array---数组

使用中括号[]来起始,并用逗号,来分隔元素

基本类型:

string number true false null

例如:

{

"name" :"王小二",

"age": 22,

"birthday" : "1990-12-1", 注意:json里没有Date这种时间的类型,所以用string;需要了解一下时间戳

"school" : "蓝翔",

"major": ["理发","挖掘机"],

"has_girlfriend":false,

"car": null,

"house": null,

"commont": "这是一个注释"

}

注意:

json中没有注释的写法,但是我们可以曲线救国

{

"id":"1",

"author":{

"id":"1506200043",

"name":"kylin",

"gender":1

},

"major":["理发","挖掘机"]

}

java对json有支持,在使用的时候需要引入以下包:

commons-beanutils.xxx.jar

commons-collections.xxx.jar

commons-lang.xxx.jar

commons-logging.jar

json-lib.xxx.jar

ezmorph.xxx.jar

JSON字符串的常用生成方式:----------从后端发送给前端的数据

使用map来放key-value数据,然后转换成json对象--再转换成json字符串---再发送给前端

//map(javaObject)--->jsonObject---->jsonStr ----前端

import net.sf.json.JSONObject;

public void jsonStrByMap(){

//构建map对象,并且把需要发送给前端的东西添加进入

Map params=new HashMap<>();

params.put("status","200");

params.put("username","kylin");

params.put("password","123456");

params.put("sexy","male");

params.put("userID","15062");

//java对象变成json对象

JSONObject jsonObject=JSONObject.fromObject(params);

//json对象转换成json字符串

String jsonStr=jsonObject.toString();

System.out.println(jsonStr);

}

使用javabean来构建json

User.java

public class User {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

//javabean---json对象---json字符串---->前端

public void jsonStrByJavaBean(){

//创建一个User对象

User user=new User();

user.setUsername("kylin");

user.setPassword("123456");

//java对象转换成json对象

JSONObject jsonObject=JSONObject.fromObject(user);

//json对象转换成json字符串

String jsonStr=jsonObject.toString();

System.out.println(jsonStr);

}

从前端获取的数据------>转换成后端可以用的数据

json字符串转换成java对象

//前端传递过来的是json字符串,那么我们对这个字符串需要进行获取并且处理

//json字符串-----json对象------java对象

JSONObject jsonobject = JSONObject.fromObject(jsonStr);

User user=(User)JSONObject.toBean(jsonobject,User.class);

//然后就通过user对象来操作了

String username=user.getUsername();

String password=user.getPassword();

json字符串转换成map对象

JSONObject jsonobject = JSONObject.fromObject(jsonStr);

Map params=(Map) jsonObject;

//然后就可以通过map来操作了

//判断是否有username字段和username字段

if (params.containsKey("username")){

System.out.println(params.get("username"));

}

if (params.containsKey("password")){

System.out.println(params.get("password"));

}

小结:

json是一种前后端的通信规范,上面介绍的是JSON(android SDK中的官方库);一般在移动客户端的时候使用,后续将会介绍GSON(谷歌的一个开源库),一般用于服务端后台的开发中,功能相对强大.

JSON库的总结:

功能:映射java对象和json字符串

通过Annotation注解来声明

支持自定义属性名称

支持包含或排除属性

支持自定义借口自己完成解析/生成过程

流程:

后端使用java编写json,

前端使用javascript直接对json字符串进行解析

android客户端使用json类来解析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值