如何通过js 获取json数据

如何通过js 获取json数据,第1张

==========================================

js 中读取JSON的方法探讨

js读取JSON的方法我接触到的有两种:

方法一:函数构造定义法返回

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

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

alert(objname);//json name

方法二:js中著名的eval函数

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

var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象

alert(objname);//json name

第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则

var strJSON = "{name:'json name'}";

var obj = eval(strJSON);

alert(objconstructor);//String 构造函数

alert(objname);//undefine

必须把对象表达式扩起来eval执行才能生成一个匿名对象!

首先要明白ajax的基本格式,参考下面的内容,可以发现,success是请求成功后服务器返回的数据,接收只需要把回调函数的值处理就可以了,如:

response:即为服务器返回的数据,例如:{"uid":123,"name":"jghdream"},

如下输出即可:

success: function(response){

        consolelog(responseuid);

        consolelog(responsename);

}

以下是ajax的一些参数:

$ajax({ 

    type:'post',

    url:'/testajaxphp',

    dataType:'json',

    data:{uid:uid,rands:Mathrandom()},

    success: function(){

        alert('ajax return success');

}});

url,类型:String,默认值: 当前页地址。发送请求的地址

data, 类型:String,发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'

dataType,类型:String,预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 >

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurlcallback=" jQuery 将自动替换 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

success,当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

乱码可能是你显示的问题读的是时候产生的乱码,通过指定显示页面的编码而变回正常的文字,也有可能是文件本身存在乱码也就是这个文件存的时候产生的乱码,这种是比较麻烦的,很可能没法还原了。通常是gba和utf-8之间的转换原因造成的,当然也有可能是其他编码。

你先要取得json的字符串。然后可以用evel函数来将字符串转成json对象就可以用了。关于evel的用法你可以百度一下,这里面说起来复杂。

另外你这里是一个xml文件里面的json数据,你需要先把xml里面的节点读出来。然后在把读出来的json文本编程json对象。既然用了xml,还用json干嘛。通常用xml就不用json了,json用来在多个程序之间传递数据用,而xml通常用来存储成文件形式。

如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-223-jdk15jar

Java样例程序如下:

import netsfjsonJSONArray;

import netsfjsonJSONObject;

public class DoJSON {

public static void main(String[] args) {

JSONArray employees = new JSONArray(); //JSON数组

JSONObject employee = new JSONObject(); //JSON对象

employeeput("firstName", "Bill"); //按“键-值”对形式存储数据到JSON对象中

employeeput("lastName", "Gates");

employeesadd(employee); //将JSON对象加入到JSON数组中

employeeput("firstName", "George");

employeeput("lastName", "Bush");

employeesadd(employee);

employeeput("firstName", "Thomas");

employeeput("lastName", "Carter");

employeesadd(employee);

Systemoutprintln(employeestoString());

for(int i=0; i<employeessize(); i++) {

JSONObject emp = employeesgetJSONObject(i);

Systemoutprintln(emptoString());

Systemoutprintln("FirstName :\t" + empget("firstName"));

Systemoutprintln("LastName : \t" + empget("lastName"));

}

}

}

运行效果:

[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]

{"firstName":"Bill","lastName":"Gates"}

FirstName : Bill

LastName : Gates

{"firstName":"George","lastName":"Bush"}

FirstName : George

LastName : Bush

{"firstName":"Thomas","lastName":"Carter"}

FirstName : Thomas

LastName : Carter

以上就是关于如何通过js 获取json数据全部的内容,包括:如何通过js 获取json数据、ajax怎么获取返回的json数据、js怎么获取.json文件里的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9620073.html

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

发表评论

登录后才能评论

评论列表(0条)

保存