YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← Json - CS253 Unit 5 - Udacity

Get Embed Code
2 Languages

Showing Revision 1 created 03/11/2014 by Fran Ontanaya.

  1. 次にお話ししたいのはJSONです
  2. JSONはXMLと同じ目的で用いられ
  3. コンピュータにも人間にも読みやすく
  4. 一貫性のあるフォーマットでデータをやり取りします
  5. JSONはJavaScript Object Notationの略で
  6. 有効なJavaScriptコードです
  7. 今回も旅行の検索を例に説明しましょう
  8. このような辞書構造があります
  9. Pythonコードに似ていますが
    実際PythonとJavaScriptは
  10. 辞書やリストの構文が似ています
  11. そしてこのような辞書が
  12. 旅程というキーを持ち
    その値は他の辞書のリストです
  13. この場合は各ルートの辞書があります
  14. あるいは各行程の辞書があってそこに
  15. fromのキーとtoのキー
    そしてそれぞれの値があります
  16. そしてこれが行程1でこちらが行程2です
  17. さらに分かるのは行程2を作っているのは
  18. 別の辞書で波括弧で表します
  19. それはキーと値のペアを持っています
  20. キーがfromで値がIADそしてキーがtoで値がSEAです
  21. このリストと辞書は閉じましょう
  22. JSONはこのようなオブジェクトを記述するのに便利です
  23. XMLで記述できるものなら何でも
  24. JSONでも記述できます しかしJSONの方が簡潔で
  25. 開始タグと終了タグは不要です
  26. 辞書から何かを構築することは可能です
  27. あるいはマッピングから
    そして使用する言語によってはオブジェクトから
  28. あるいはハッシュテーブルから
  29. そしてPythonにもある
    キーと値のペアからも構築できます
  30. まさにJavaScriptに似ています
  31. Python同様リストには角括弧を使い
    カンマで値を区切ります
  32. 例えば1、2そして文字列threeがあります
  33. つまり整数と文字列がリストあるいは
    ハッシュテーブルの値にあるわけです
  34. リストはハッシュテーブルの値でも
  35. リストの中の項目でもあり得ます
  36. つまりこのようにリストの中にリストがあります
  37. 2つのデータ型のうち1つは真と偽だけを扱うブール値
  38. もう1つは少数です
  39. JSONのデータ型は
    整数、文字列、ブール値、少数ですべてです
  40. もちろん何も含まないnull値もあります
  41. 主なデータ構造は
  42. 辞書とマッピングつまりキーと値あるいは
  43. 複数の値と複数の値そしてリストです
  44. ではPythonでJSONをパースする方法を説明しましょう
  45. Pythonインタープリタを使います
  46. JSONをインポートします
  47. Python 2.6以上には含まれていますが
    Python 2.5を使っている場合は
  48. 2.6か2.7にバージョンアップをお勧めします
  49. このクラスで使うGoogle App Engineは
    2.7を使うので
  50. JSONのインポートは問題ないでしょう
  51. Pythonで作るJSON文字列をjとします
  52. JSONを表す文字列を取り出すと
  53. oneとnumbersの2つのキーを持つ辞書で
  54. oneの値は1で
    numbersの値は[1, 2, 3.5]というリストです
  55. これをJSONでパースします
    loadsという関数を使います
  56. load stringの略でファイルを読み込むものです
  57. 今回はこれだけを使います
  58. それを実行してPython辞書を取得します
  59. numbersと1という同じキーがあり
  60. 順序は問題ではありません
  61. 値も同じで1と[1, 2, 3.5]です
  62. それを変数dに格納して操作します
  63. するとd['numbers']でリストを取得でき
  64. d['one']で1を取得できます
  65. JSONはPythonに似ているので
  66. evalメソッドを使うとこれをPythonコードとして扱い
  67. これを入力したようになります
  68. 結果としてこれを取得しました
  69. これはきちんとした方法ですが使わないでください
  70. 何人かの人は有効なJSONを取得した一方で
  71. コンピュータに影響を及ぼすコードを
    受け取ったでしょう
  72. ですからJSONの解析には不適切です
  73. ここでは使えることを説明しただけです
  74. JSONをPythonで扱うときには役立ち
  75. 両者がうまく動いてくれます