json语法如何编写对象?json语法规则是什么?

阳光 2021-12-20 21:04:04 java常见问答 4853

JSON 语法是 JavaScript 对象表示法语法的子集,在使用json的时候,我们需要遵守json相关规则,才能正确使用json,那json语法如何编写对象?下面来我们就来给大家讲解一下。

JSON 对象语法:

JSON 对象在大括号({})中书写。

对象可以包含多个key/value(键/值)对。

key是字符串,必须放在双引号里面。value 可以是合法的 JSON 数据类型(字符串, 数值, 对象, 数组, 布尔值或 null)。

一个 key/value 对内部,key 和 value使用冒号(:)分隔。

key/value 对之间,使用逗号(,)分隔。

JSON 对象可以嵌套

下面就是一个合法的JSON 对象:

{
    "weibo": "https://weibo.com/leiqikui"
    , "github": "https://github.com/leiqikui"
    , "qq":
    {
        "number": "376601179"
        , "email": "376601179@qq.com"
    }
}

json语法规则是什么?

JSON 语法规则:

JSON 语法是 JavaScript 对象表示法语法的子集。

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

JSON 值

JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null

把 JSON 文本转换为 JavaScript 对象

JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。

JSON 实例 - 来自字符串的对象

创建包含 JSON 语法的 JavaScript 字符串:

var txt = '{ "employees" : [' +

'{ "firstName":"Bill" , "lastName":"Gates" },' +

'{ "firstName":"George" , "lastName":"Bush" },' +

'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

var obj = eval ("(" + txt + ")");

在网页中使用 JavaScript 对象:

例子

<p >
    First Name: <span id="fname"></span> < br / >
    Last Name: <span id="lname"></span> < br / >
    </p> <
    script type = "text/javascript" >
    document.getElementById("fname")
    .innerHTML = obj.employees[1].firstName
document.getElementById("lname")
    .innerHTML = obj.employees[1].lastName <
    /script>

把查到的城市对象简化后转化为数组返回到页面去,

config.setExcludes();用来去掉那些不需要的属性。
JsonConfig config=new JsonConfig();
config.setExcludes(new 
String[]{"id","pid","pycode","postcode","areacode"});
JSONArray jsonArray=JSONArray.fromObject(citiesSelect,config);
System.out.println(jsonArray.toString());
response.setCharacterEncoding("utf-8");
response.getWriter().print(jsonArray.toString());

在JSP对服务器返回的JSON数据转化成JavaScript 对象,添加到下选框上。

function showCity(value)
{
    $.post("${pageContext.request.contextPath}/crm/companyAction_showCity.do"
    , {
        name: value
    }, function (data, textStatuts)
    {
        //alert(data);
        var dataObj = eval("(" + data + ")");
        //alert(dataObj);
        //删除城市
        $("select[name='city'] option[value!='']")
            .remove();
        // <select name="city" style="width:90%">
        //<option value="">--------</option>
        //</select>
        for (var i = 0; i < dataObj.length; i++)
        {
            var $option = $("<option></option>");
            $option.attr("value", dataObj[i].name);
            $option.text(dataObj[i].name);
            $("select[name='city']")
                .append($option);
        }
    });
}

JSON 是轻量级的文本数据交换格式,它具有自己的语法,而且我们在使用中一定要遵守它的相关语法!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

JAVA高级架构面试问哪些题目?JAVA高级架构面试必问

json的使用场景有哪些?json的使用场景讲解

Qt怎么获取主窗口大小?Qt当前系统时间如何获取?