Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery将json对象下载为json文件_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 使用jQuery将json对象下载为json文件

Javascript 使用jQuery将json对象下载为json文件,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我正在寻找下载字符串化json对象作为文件的方法 我有一个解决方案,如本小提琴示例所示: 我的工作版本如下所示 HTML From data attribute of span: <span id="a-data"></span> <span id="obj-data" data-obj2='{"obj-1": "text-1","obj-2": "text-2","obj-3": "text-3"}'></span>

我正在寻找下载字符串化json对象作为文件的方法

我有一个解决方案,如本小提琴示例所示:

我的工作版本如下所示

HTML

    From data attribute of span:
    <span id="a-data"></span>
    <span id="obj-data" data-obj2='{"obj-1": "text-1","obj-2": "text-2","obj-3": "text-3"}'></span>
来自span的数据属性:
JavaScript

    var obj = $("#obj-data").data("obj2");
    var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
    $('<a href="data:' + data + '" download="data.json">Download Me</a>').appendTo("#a-data");
var obj=$(“obj数据”).data(“obj2”);
var data=“text/json;charset=utf-8,”+encodeURIComponent(json.stringify(obj));
$('')。附于(“#a-数据”);
我希望我能使用这个HTML。你能建议一种方法吗

From data attribute of self:
<div id="data" data-obj='{"obj-1": "text-1","obj-2": "text-2","obj-3": "text-3"}'>
    Download Me
</div>
来自self的数据属性:
下载我
尝试用
“application/json”
替换
“text/json”
,调用
。在
DOM
元素
上单击()
,在
上删除
a
$(“#数据”)。单击(函数(){
$("", {
“下载”:“data.json”,
“href”:“data:application/json,”+encodeURIComponent(json.stringify($(this.data().obj))
}).附件(“正文”)
。单击(函数(){
$(this.remove())
})[0]。单击()
})

下载我

由于某种原因,当数据文件打开时,这似乎会删除json字符串中的空格。在本例中,该对象{“key”:“sometext”}的结尾类似于{“key”:“sometext”}。。“sometext”不应合并到“sometext”@See updated post。在
encodeURIComponent()。谢谢你借我的眼睛:)在
js
at OP中拥有
encodeURIComponenet()
;忽略了包括这部分,在这里,在原来的职位以上