div の属性を取得しようとしていて、それを json 形式にしようとしています。たとえば、div があり、その属性が次の場合:
api="something" data-page="5" data-tag="blah"
だから私はjsonでこの形式に入れようとしています:
{"api":"getArticles","parameters":{"param1":"value 1","param2":value2... }}
これまでに書いたコードは次のとおりですが、[object Object] が返されるため、正しく実行できているかどうかはわかりません。やっていることが正しいかどうかを確認し、上記の形式で json 配列を確認するにはどうすればよいですか?
JSfiddle リンク: http://jsfiddle.net/ithril/mCNbW/4/
var arr = $("div").get(0).attributes, attributes = [];
var l;
var attrinames;
var attrivalues;
var api;
for(var i = 0; i < arr.length; i++) {
if(arr[i].name.indexOf("data-")==0){
l=arr[i].name.lastIndexOf("data-",0)+"data-".length;
attrinames=arr[i].name.substr(l);
if(attrinames!="apicall"){
attrivalues=arr[i].value;
attributes.push({attrinames:attrivalues});
}
else
api=attrivalues;
}
}
var json=[]
json.push({"api":api,"parameters":attributes});
alert(json);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div class="divload" data-apicall="anything.php" link="" data-page="5" data-tag="stuff">