Java中使用json具体方法

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

数据结构:

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字符串

  1. 通过Annotation注解来声明
  2. 支持自定义属性名称
  3. 支持包含或排除属性
  4. 支持自定义借口自己完成解析/生成过程

流程:

  1. 后端使用java编写json,
  2. 前端使用javascript直接对json字符串进行解析
  3. android客户端使用json类来解析

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/209198.html<

(0)
运维的头像运维
上一篇2025-04-09 08:50
下一篇 2025-04-09 08:51

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注