js怎么获取.json文件里的数据

js怎么获取.json文件里的数据,第1张

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

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

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

根据返回的字符串可以看出是多个json拼接成的js数组的形式。

如果返回的只是字符串须现将字符串转成js对象。

使用Jquery的$each()方法循环js数组取出每一个json对象的数据。

str = '[{"key":"value","keys":[{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"value4"}],"obj":{"id":1,"msg":"success"}}]';

str_json = eval("(" + str + ")");//将字符串转换成js对象

$each(str_json,fucntion(a,b){

alert(a);//d出数组的key

alert(bid);//d出要取出的数据

});

js部分

(function(window,

document)

{

'use

strict';

var

jsonp

=

function(url,

data,

callback)

{

//1、挂载回调函数

var

fnsuffix

=

Mathrandom()toString()replace('',

'');

var

cbFuncName

=

'my_json_cb'

+

fnsuffix;

window[cbFuncName]

=

callback;

//2、将data转换成url字符串的形式

//{id=1,count=4}==>id=1&count=4

var

querystring

=

urlindexOf('')

==

-1

''

:

'&';

//判断url中最后是否有?,没有则为?

for

(var

key

in

data)

{

querystring

+=

key

+

'='

+

data[key]

+

'&';

}

//3、处理url中回调函数

url+=callback=sdgade

querystring

+=

'callback='

+

cbFuncName;

//querystring=id=1&count=4&callback=sdgade

//4、创建一个script标签

var

scriptElement

=

documentcreateElement('script');

scriptElementsrc

=

url

+

querystring;

//5、把script标签放到页面上

documentbodyappendChild(scriptElement);

};

window$jsonp

=

jsonp;

})(window,

document)

在页面中测试

<!DOCTYPE

html>

<html>

<head>

<title>jsonp</title>

</head>

<body>

<div

id="htt"></div>

<script

type="text/javascript"

src=">

以上就是关于js怎么获取.json文件里的数据全部的内容,包括:js怎么获取.json文件里的数据、js解析json文件,获取数据、使用jsonp实现跨域获取数据实例讲解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9485155.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存