js获取json数据,自动添加至表格,如何防止重复

JavaScript012

js获取json数据,自动添加至表格,如何防止重复,第1张

一、使用js获取接口数据的方法①$get(url,[data],[callback])url:请求的地址data:请求数据的列表callback:请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个为服务器的状态,是可选参数。其中服务器返回数据的格式其实是字符串形式,并不是我们想要的JSON数据格式。上例子:var url3 = 'http://mshop.gemstc.com/ApiService/msgget.php'$.get(url3,function(data){alert(data) })此时如果对data采用json解析数据,得到的值为undefined。所以我们使用这种get方法获取到的值要是JSON格式,需要定义获取的数据类型为json格式,上例子:var url3 = 'http://mshop.gemstc.com/ApiService/msgget.php'$.get(url3,function(data){ $('#result').append('interval:'+data.name+'')//此时返回的是JSON格式的内容,例:我们可以使用data.name获取到name字段的值并输出。 }, 'json')②$post(url,[data],[callback],[type])post方法中多了一个type:获取数据的类型格式,post其实和get是一样的用法,type不定义,返回的是字符串类型的,定义为json格式,返回的就是json格式的数据,此处可以仿照上面的get方法,把get改成post就搞定了,就不多说了。

var json = { contry:{ area:{ man:"12万", women:"10万" } } }

//方式一:使用eval解析

var obj = eval(json)

alert(obj.constructor)

alert(obj.contry.area.women)

//方式二:使用Funtion函数

var strJSON = "{name:'json name'}"//得到的JSON

var obj = new Function("return" + strJSON)()//转换后的JSON对象

alert(obj.name)//json name

alert(obj.constructor)

//复杂一点的json数组数据的解析

var value1 = [{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"}, {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"}, {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}] var obj1 = eval(value1)

alert(obj1[0].c01)

//复杂一点的json的另一种形式

var value2 = {"list":[ {"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}], "array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]}

var obj2 = eval(value2)

alert(obj2.list[0].password)