一、JSON简介
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)。JSON 是轻量级的文本数据交换格式,和XML一样也是纯文本的,具有独立于语言,自我描述性,更易理解等特点,具有层级结构(值中存在值)可通过 JavaScript 进行解析数据,可使用 AJAX 进行传输。
Object 对象在 JSON 中是用 { } 包含一系列无序的 Key-Value 键值对表示的,实际上此处的 Object 相当于 Java 中的 Map<String, Object>,而不是 Java 的 Class 。注意 Key 只能用 String 表示。
例如一个employee 对象是包含 3 个员工记录(对象)的数组表示如下:
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
二、要把 JSON 文本转换为 JavaScript 对象,最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
<html>
<head>
<title>实例3.12:创建 JSON 对象</title>
</head>
<body>
<h2>在 JavaScript 中创建 JSON 对象</h2>
<p>
姓名: <span id="jname"></span><br />
年龄: <span id="jage"></span><br />
地址: <span id="jstreet"></span><br />
电话: <span id="jphone"></span><br />
</p>
<script type="text/javascript">
var JSONObject= {
"name":"胡八一",
"street":"汉东省汉江市江北新区",
"age":36,
"phone":"088 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>
</body>
</html>
上面的代码注释:
document.getElementById("jname").innerHTML=JSONObject.name
上面这句话:是用来往页面里插入数据的,是JavaScript语言。
document:是JavaScript里的内置对象,也就是可以直接用。
getElementById("name")就是获得页面里id=name的控件(输入框)
innerHTML就是“插入页面”的意思
合起来
document.getElementById("name").innerHTML=中国
就是往页面里,id为name的输入框内插入中国
三、运行结果