Windows Gadget:如何从网页获取 json 并使用 javascript 转换为一系列数组?

发布于 2024-10-10 21:37:45 字数 83 浏览 8 评论 0原文

是否可以从网页获取 JSON 以在 Windows 桌面小工具中使用,并通过 JavaScript 将其转换为数组?

举个例子就很好了。

Is it possible to get JSON from a webpage for use in a windows desktop gadget and convert it to an array via javascript?

An example would be excellent.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偷得浮生 2024-10-17 21:37:45

回答已经晚了,但可能对其他人有用。我正在开发 Windows 小工具,无法使用 eval(string) 的 JSON.parse(string) 将从服务器返回的字符串转换为 json 它根本不起作用,但我发现了一些奇怪的方法来做到这一点。

var json = (eval("[" + eval(json 字符串) + "]"))[0]; //神奇但有效(顺便说一句,根据问题的要求创建json数组,所需要做的就是最后删除[0])。

完整的代码示例:

function syncRequest(_url, _data) {
    var req = new XMLHttpRequest();
    req.open("POST", _url, false);
    req.setRequestHeader("Content-type", "application/json");
    req.send(_data);
    return req.responseText;
}

var response = syncRequest("http://...", "{json data}");

//here response converted into json
var json = (eval("[" + eval(response) + "]"))[0];

It's late to answer, but it may be useful to somebody else. I'm developing windows gadget and can not use JSON.parse(string) of eval(string) to convert string returned from server into json it simply do not work, but i have found some strange way to do it.

var json = (eval("[" + eval(json string) + "]"))[0]; //magic but works (btw creates json array as required in the question, all that required is to remove [0] in the end).

Complete code example:

function syncRequest(_url, _data) {
    var req = new XMLHttpRequest();
    req.open("POST", _url, false);
    req.setRequestHeader("Content-type", "application/json");
    req.send(_data);
    return req.responseText;
}

var response = syncRequest("http://...", "{json data}");

//here response converted into json
var json = (eval("[" + eval(response) + "]"))[0];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文