jsonarray和jsonobject的区别是什么?jsonarray如何入门?

jsonarray和jsonobject都是json中内容,在开发中我们也会使用这些,很多人不清楚jsonarray和jsonobject的区别,生怕开发时候用错,那下面我们就给大家讲解一下jsonarray和jsonobject的区别是什么?

hibernate和mybatis的区别.jpg

1.区别在于JSONObject是一个{}包裹起来的一个对象(Object),而JSONArray则是[]包裹起来的一个数组(Array),JSONArray由一个或者多个JSONObjec 组成,说白点就是一个是数组一个是对象或字符串

2.两者的区别就是JSONArray是数组,里面存着对象;JSONObect是对象,里面存的是字符串。通俗来说,JSONArray是运输机,里面装的是汽车,汽车里面坐的是人,而JSONObect是汽车,里面装的是人。

3. JSONArray和JSONObject再使用时候的第一个最重要的区别就是: JSONArray是一个一个加进去的;

JSONObject是一对一对加进去的;

4.JSONObject最外面用的是 { } ,JSONArray最外面用的是 [ ]

jsonarray如何入门?

JSONArray是一个有序的值序列。它的外部文本形式是一个用方括号括起来的字符串,用逗号分隔值。内部表单是具有 索引的对象get和opt用于通过索引访问值的element方法,以及用于添加或替换值的方法。它的值可以是任何这些类型的: Boolean,JSONArray,JSONObject, Number,String,或 JSONNull object。

所以JSONArray就是["tom","kate","jerry"];或者[1,2,3]

同时,这里的数组json通过添加对象json可以变成数组对象json:

[{"name":"tom"},{"name":"kate"}]

构造函数可以将JSON文本转换为Java对象。该 toString方法转换为JSON文本。

甲get方法返回如果可以找到一个值,并且抛出异常如果不能找到。一个opt方法返回一个默认值,而不是抛出异常,所以是用于获得可选值是有用的。

泛型get()和opt()方法返回一个可以转换或查询类型的对象。还有一些类型 get和opt方法可以为您进行类型检查和输入coersion。

toString方法 生成的文本严格遵循JSON语法规则。

构造者在他们接受的文本中更宽容:

额外的, (逗号)可能出现在结束括号之前。

null当有, (逗号)省略时,将插入该值 。

字符串' 可以引用(单引号)。

如果字符串不以引号或单引号开头,并且如果它们不包含前导或尾随空格,并且它们不包含任何这些字符{ } [ ] / \ : , = ; #,则根本不需要引用它们: 如果它们看起来不像号,如果它们不是保留字true,false或null。

值可以用; (分号) 和, (逗号)分隔。

数字可以具有0- (八进制)或 0x- (十六进制)前缀。

使用斜杠,斜杠和散列约定编写的注释将被忽略。

实现

简化的用户类:

package com.sshmobai;
import java.util.Date;
public class User
{
    private String username;
    private String password;
    private Date createdTime;
    public User()
    {
        super();
    }
    public User(String username, String password)
    {
        super();
        this.username = username;
        this.password = password;
    }
    public User(String username, String password, Date createdTime)
    {
        super();
        this.username = username;
        this.password = password;
        this.createdTime = createdTime;
    }
    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;
    }
    public Date getCreatedTime()
    {
        return createdTime;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }
    @Override
    public String toString()
    {
        return "User [username=" + username + ", password=" + password + ", createdTime=" + createdTime + "]";
    }
}
测试
User user = new User("ssh", "mobai", new Date());
System.out.println(user);
System.out.println(JSONObject.fromObject(user)
    .toString());

结果

User[username = ssh, password = mobai, createdTime = Mon Jul 30 16: 30: 41 CST 2018]
{
    "createdTime":
    {
        "date": 30
        , "day": 1
        , "hours": 16
        , "minutes": 30
        , "month": 6
        , "seconds": 41
        , "time": 1532939441331
        , "timezoneOffset": -480
        , "year": 118
    }
    , "password": "mobai"
    , "username": "ssh"
}

总之JSONArray是一个有序的值序列,在解析json字符串的过程中,会生成jsonarray对象哦!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

redis的分布式锁有什么作用?redis分布式锁如何实现?

json数据怎么换行?json数据怎么打开?

java程序员怎么快速加薪?java程序员发展方向是什么?