jsp页面中,如何使用jquery拼接json格式的数据

JavaScript021

jsp页面中,如何使用jquery拼接json格式的数据,第1张

不知道你想做什么。

jquery是运行在浏览器端的一个js

函数库

,json被浏览器解析之后就是

一个js

字面量

(或叫做对象)

。你说拼接,是不是把两个json的数据变成一个对象?我觉得这完全没必要吧,如果你需要同时获取两个json你可以在

服务器端

直接把这两次请求合并为一个,这样只用一次请求

速度还快一些

如果你非要获取两次然后拼接成一个对象也可行。

function

callBack(json){

这里写你处理最终json的代码

}

$.getJSON("url1",

function(json1)

{//获取第一个json

$.getJSON("url2",

function(json2)

{//

回调函数

中获取第二个json

var

key

for

(key

in

json2)

{//遍历第二个json对象添加到第一个json中

json1[key]

=

json2[key]

}

callBack(json1)

//处理最终得到的json对象

})

})

1、按照描述,题主是想将多条数据记录提交到服务端,同时服务端将数据插入到数据库。那么思路是将多条数据存在数组中,调用post方法的接口传入后端。

2、方法如下:

var sendData = []

sendData.push({name:'david',age:'20'})

sendData.push({name:'peter',age:'23'})

3、传递数据给服务端,一般使用post方法调用接口,使用jquery,代码如下:

$.post("接口路径",sendData,function(result){

console.log(result,'发送结果')

})

扩展资料:

1、json与字符串互相转换:

JSON.parse('{"name":"karla"}')//将字符串转换为json

JSON.stringify({name:'karla'})//将json转化为字符串

2、jquery中post与get的区别:

1) $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来 进行异步请求的。

2)get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体     内容发送给Web服务器的,这种传递是对用户不可见的。

3) get方式传输的数据大小不能超过2KB 而POST要大的多。

4)GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。

参考资料:百度百科-json

感觉还是有点复杂,可用。可加双引号。

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<script src="jquery-2.0.2.min.js"></script>

<title>无标题文档</title>

<script language="javascript" type="text/javascript">

    window.onload = function(){

        //tabToJSON("tab")

        tabToJSONForJquery("tab")

    }

    function tabToJSON(id) {

        var trs = document.getElementById(id).getElementsByTagName("tr")//获得tr数组

        var titles = trs[0].getElementsByTagName("td")    //获得表头td数组

        var json = ""

        for(var i = 1 i < trs.length i++) {

            var tds = trs[i].getElementsByTagName("td")    

            json += "{" 

            //拼装json

            for(var j = 0 j < tds.length j++) 

                json += titles[j].innerHTML + ":" + tds[j].innerHTML + ","

            json = json.substring(0, json.length - 1) + "},"

        }

        json = "[" + json.substring(0, json.length - 1) + "]"

        document.getElementById("test").innerHTML = json

    }

    function tabToJSONForJquery(id) {

        var titles = $("#" + id).find("tr:first td")    //获得表头td数组

        //遍历非表头的,tr、td...拼装json

        var json = "[" + $("#" + id).find("tr:not(:first)").map(function(i, e) {

            return "{" + $(e).children("td").map(function(j, el) {

                return $(titles[j]).html() + ":" + $(el).html()

            }).get().join(",") + "}"

        }).get().join(",") + "]" 

        $("#test").html(json)

    }

</script>

</head>

<body>

<table id="tab">

    <tr>

        <td>test1</td>

        <td>test2</td>

        <td>test3</td>

    </tr>

    <tr>

        <td>val1</td>

        <td>val2</td>

        <td>val3</td>

    </tr> 

    <tr>

        <td>val11</td>

        <td>val22</td>

        <td>val33</td>

    </tr>   

</table>

<div id="test"></div>

</body>

</html>

重新放下JS,好难看

function tabToJSON(id) {

        var trs = document.getElementById(id).getElementsByTagName("tr")//获得tr数组

        var titles = trs[0].getElementsByTagName("td")    //获得表头td数组

        var json = ""

        for(var i = 1 i < trs.length i++) {

            var tds = trs[i].getElementsByTagName("td")    

            json += "{" 

            //拼装json

            for(var j = 0 j < tds.length j++) 

                json += titles[j].innerHTML + ":" + tds[j].innerHTML + ","

            json = json.substring(0, json.length - 1) + "},"

        }

        json = "[" + json.substring(0, json.length - 1) + "]"

        document.getElementById("test").innerHTML = json

    }

    function tabToJSONForJquery(id) {

        var titles = $("#" + id).find("tr:first td")    //获得表头td数组

        //遍历非表头的,tr、td...拼装json

        var json = "[" + $("#" + id).find("tr:not(:first)").map(function(i, e) {

            return "{" + $(e).children("td").map(function(j, el) {

                return $(titles[j]).html() + ":" + $(el).html()

            }).get().join(",") + "}"

        }).get().join(",") + "]"

        $("#test").html(json)

    }