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

《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"}]}

把json返回的数据显示到html页面上的代码如下:

html中写姓名:<span id="username"></span>

js中写:

$(function () {

$.ajax({

type: "post",

url: "你后台返回json的页面地址",

dataType: "json",

data: {"operation":"getsiteroomname","bigcatid":bigcatid},//传递到后台页面的参数,没有就不要了

contentType: "application/x-www-form-urlencodedcharset=utf-8",

success: function(data) {

console.log(data)//将返回的值打印出来看看,然后你就知道怎么用了,可能如data.username

var xm=data.username

$("#username").text(xm)

},

error: function (XMLHttpRequest, textStatus, errorThrown) {

alert('系统错误,联系管理员')

}

})

}

知识延展:

超文本标记语言, 标准通用标记语言下的一个应用。

“ 超文本 ”就是指页面内可以包含图片、 链接,甚至音乐、 程序等非文字元素。

超文本标记语言的结构包括 “头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的 具体内容。

给你一个大致的方案,具体想要实现的方法自己解决,不懂再问。 先要导入这两个包: <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/json.js"></script> <input type="button" value="使用Json请求去后台获取数据返回是json对象" onClick="toJson()"> function toJson() { /*发出是json请求:返回的字符串是json对的字符串*/ $.getJSON("jsonViewServlet?falg=2",null,function call(data){jsonResponse(data)}) } 我这里java代码是用servlet实现: if ("2".equals(flag)) {JSONObject resultJSON = new JSONObject() try { resultJSON.put("sex", "男")resultJSON.put("age", "22")resultJSON.put("name", "张三")System.out.println(resultJSON.toString())/* {"sex":"男","name":"张三","age":"22"} */} catch (Exception e) { e.printStackTrace() }out.print(resultJSON.toString()) } 在web.xml里面怎么配置servlet就不需要我多说了吧?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6104342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存