2
私は、タグウィッヒは、このようなデータオブジェクトが含まれています:解析andstringify JSONオブジェクトのjqueryの
<a class="export-json" data-button="[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]">Export json</a>
これらの値は、このようなデータ・ボタンの上に渡されます。
$(".export-json").attr("data-button", data);
data
リストですjson
を含む。
データは、このようなものです:
[{
name: "John",
position: "663",
a: 15,
b: 48
},
{
name: "311",
position: "663",
a: 12,
b: 48
}]
だから私は、そのデータ・オブジェクトを変換し、JSONファイルとしてダウンロードします。私はこのように行う場合
$(".export-json").click(function(){
var data = $.parseJSON($(this).attr('data-button'));
exportJson(this, data);
});
function exportJson(element, data) {
var results = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(data));
element.setAttribute("href", "data:"+results);
element.setAttribute("download", "data.json");
}
ここでこのparseJSON
$.parseJSON($(this).attr('data-button'))
の私が得るために:
Uncaught SyntaxError: Unexpected token o in JSON at position 1
私はparseJSON
削除した場合、私は、ファイルをダウンロードするとき、私はこれがあります。
"[object Object],[object Object],[object Object],[object Object],[object Object]"
をなぜこれが起こっているのか分かりません。
私はすべてがcorectly印刷されたデータを通過する場合:
for (var i = 0; i < data.length; i++) {
var item = data[i];
console.log(item);
}
誰かが私を助けることができますしてください
た属性値として割り当てる前に、配列を文字列化する必要があります'data-button'は最初に埋められますか? – Hydrothermal
'[object Object]'はJSONではありません。これは、ランダムなオブジェクトの 'toString()'の呼び出しの結果ですが、明らかに実際のオブジェクトに変換することはできません。あなたは実際にその属性でその価値をどのようにして最終的に達成していますか、実際にそれをどうしようとしていますか? – jcaron
アンカータグが最初に生成されたときに 'JSオブジェクト'を解析する必要があります。そうでなければ、オブジェクトデータは '[object Object]'として表示されます – Derek