gpt4 book ai didi

javascript - 检索纯文本 JSON,插入到 JavaScript

转载 作者:行者123 更新时间:2023-12-01 13:56:34 31 4
gpt4 key购买 nike

我有一个返回 application/json Content-Type 的 URL http://myapp.com/get_data。当我浏览到该 URL 时,我会在浏览器窗口中得到一个纯文本 JSON 数组

[[key, value],
[key, value],
[key, value],
...]

我还有一个 JavaScript 函数,它期望数据为 JSON 数组格式

function process_data() {
var data = // give me more data in JSON array format...
}

如何让我的 JavaScript 浏览到 http://myapp.com/get_data 并将生成的 JSON 数组分配给 process_data( )?

我是 JavaScript 的新手(具有 Python 背景),如果您能推荐使用核心 JavaScript 库的解决方案,我将不胜感激。也欢迎使用其他库的解决方案,最好是那些被认为是最佳实践的解决方案。

更新

看来我的问题并不清楚。让我提供一个来自 Python 的例子。完成必要的导入后,我可以做类似的事情

url = "http://myapp.com/get_data"
page = urllib2.urlopen(url)
page_source = page.read()

这一次,page_source 已经是一个 Python str 对象,我可以很容易地使用它,分配给其他变量等等。如果我可以将 Python 和 JavaScript 混合在一起,对于这个问题的上下文,我想做类似的事情

function process_data() {
url = "http://myapp.com/get_data"
page = urllib2.urlopen(url)
page_source = page.read()
var data = convert_str_to_JSON(page_source)
}

当然那只是一段丑陋的代码混搭,但我希望它传达了我想要达到的目的:

  1. JavaScript 将GET 一个 URL。
  2. 阅读来源。
  3. 将源解释为 JSON。
  4. 将其分配给一个变量。

最佳答案

较新的浏览器原生支持 JSON 解析。

你可以说 JSON.parse('json data')。对于较旧的浏览器(例如 IE 7 或 6),您可以使用此库:https://github.com/douglascrockford/JSON-js

使用上述库中的 json2.js。它检查 native 浏览器实现是否存在,如果不存在,则添加它。

不要使用eval(如eval is evil)!

更新:要获取“json 数据”,请使用:

var jsonObject = {}; 
var xhr = new XMLHttpRequest();
xhr.open( "GET", url, true ); // true makes this call asynchronous
xhr.onreadystatechange = function () { // need eventhandler since our call is async
if ( xhr.readyState == 4 && xhr.status == 200 ) { // check for success
jsonObject = JSON.parse( xhr.responseText );
}
};
xhr.send(null);

此外,我建议阅读此 article用于跨浏览器问题和 XMLHttpRequest 对象的实现。

关于javascript - 检索纯文本 JSON,插入到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7055330/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com