jQueryのgetJSONで読み込むjsonの要素名に-(ハイフン)使った顛末
- wildwest_kazya
- 58298
- 6
- 3
- 170
@aWebprogrammer それはそうとワテさん。jQueryのgetJSONで引っ張ってきたjsonって要素名にハイフン使えないんすかね? ハイフン入れたら読み込んでくれなくて、ハイフン抜いたらちゃんと表示されるんですが(`・д´・ ;)
2013-03-29 03:27:27@wildwest_kazya JSONの書き方にもよりますけど、要素部分を「”」でくくらないとエラーになるような気はするー
2013-03-29 03:33:27@wildwest_kazya あっ、勘違いしてた、「ちゃんと"でくくってればエラー出ない」っていう部分で言えば、JSONの仕様として「"」でくくらないと仕様的にまずいと思う => http://t.co/YfMwQQCUbM
2013-03-29 03:59:06@aWebprogrammer うい、そこんとこはググッたので大丈夫かと。今書いてたのが{"ac-db":{"name":"肉","price":1250}} ってjsonで、ac-dbのハイフンが入ると表示されないんすよねぇ(-ω- )
2013-03-29 04:02:01ちなみに、このときこんな書き方でjsonを読み込んでた。
======
$.getJSON("data.json", function(items) {
$("#items").append(
"<h1>" + items.ac-db.name + "</h1>"
)
});
======
この中のitems.ac-dbってなってるところをitems['ac-db']にしないといけなかったらしい。
@wildwest_kazya やっと理解しましたw、だったら、書き方を「item[’ac-db’]」って書き方に変えればいけるかとー
2013-03-29 04:06:14@wildwest_kazya ドットシンタックス形式で表記すると、ハイフンが演算子扱いになっちゃうんで、ハイフンなんかが入ってる場合は、さっきみたいに連想配列形式の書き方にしないと動いてくれないっすー
2013-03-29 04:08:15@aWebprogrammer なるほど。いっかい連想配列形式の書き方にはしてたんですが、そんときクォーテーションつけ忘れちゃってたんで動かなかったんですな、きっと。(・ω・)fmfm
2013-03-29 04:09:00@wildwest_kazya 普通に書いちゃうと、数式になっちゃうんでクォーテーションでくくって文字列扱いで指定してやらないと、確かに連想配列形式でもエラーが出ますなー
2013-03-29 04:11:15