《html》中怎么解析json数据?

html-css017

《html》中怎么解析json数据?,第1张

HTML5已原生支持json的解析,window.JSON.parse()将json格式字符串转换为json对象,window.JSON.stringify()将json对象转换为json格式字符串。

示例:

Html代码 

<!DOCTYPE HTML>  

<html>  

<head>  

    <title>Window.JSON</title>  

    <meta charset="gb18030">  

</head>  

  

<body>  

    <button type="button" id="btn1">解析json字符串</button>  

    <button type="button" id="btn2">json对象转换为json字符串</button>  

    <div id="res">  

      

    </div>  

    <script language="JavaScript">  

    <!--  

        var jsonStr = "{\"total\":100,\"data\":[{\"id\":10001,\"name\":\"scott\"},{\"id\":10002,\"name\":\"tiger\"}]}"  

        var jsonObj = window.JSON.parse(jsonStr)  

          

        document.getElementById("btn1").onclick = function() {  

            var str = "json字符串解析为json对象<br>"  

            str += "<span>Total:"+jsonObj.total+"</span><br><span>Data:"  

            for (var i=0i<jsonObj.data.length  i++)  

            {  

                str += "id:" + jsonObj.data[i].id + ",name:" + jsonObj.data[i].name+"<br>"  

            }  

            str += "</span><br>"  

            document.querySelector("#res").innerHTML = str  

  

        }  

        document.getElementById("btn2").onclick = function() {  

            var jsonObj = {total:100,data:[{id:10001,name:"scott"},{id:10002,name:"tiger"}]}  

            var jsonStr = window.JSON.stringify(jsonObj)  

            var str = "转为json字符串:<br>" + jsonStr  

            document.querySelector("#res").innerHTML = str  

        }  

    //-->  

    </script>  

</body>  

</html>

单击“解析json字符串”按钮,结果:

json字符串解析为json对象

Total:100

Data:id:10001,name:scott

id:10002,name:tiger

单击“json对象转换为json字符串”按钮,结果:

转为json字符串:

{"total":100,"data":[{"id":10001,"name":"scott"},{"id":10002,"name":"tiger"}]}

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建一个html文件,例如:index.html,并引入jquery.js。

2、在index.html的<script>标签中,输入js代码:

$.get('请求地址', function(respond) {

document.body.innerText = respond

})

3、从浏览器运行index.html页面,此时接口返回的json数据被完整显示到html页面上了。

import java.io.BufferedReader

import java.io.File

import java.io.FileInputStream

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.FileWriter

import java.io.IOException

import java.io.InputStream

import java.io.InputStreamReader

/**

* java读写文件

* 读取d:/1.txt文件内容,写入f:/text.txt文件中.

*

* 写入文件换行用fw.write("\r\n")

* 或者fw.write("\n")

* @author young

*

*/

public class FileWriterTest {

// 读写文件

public static void rwFile(){

FileWriter fw = null

BufferedReader br = null

try {

// 定义FileWriter对象,关联文件f:\text.txt,用来向文件写内容

fw = new FileWriter("f:\\text.txt", true)

// 定义bufferedReader对象,用来读取d:\1.txt文件内容

br = new BufferedReader(new InputStreamReader(

new FileInputStream("d:\\1.html"), "UTF-8"))

String line = null

// 每次读取一行内容,循环读取,读到文件末尾结束

while ((line = br.readLine()) != null) {

System.out.println("文件内容: " + line)

fw.write(line)

// 刷新缓冲流,

fw.flush()

}

// 关闭I/O流

br.close()

} catch (FileNotFoundException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

} finally {

if (fw != null) {

try {

fw.close()

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

}

public static void main(String[] args) {

rwFile()

}

}