万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    jsonでjsonのstringからJSONにするとき Python

    普通にjsonのloads()だと

    json_str = "{\"item1\":\"(288.6, -1275.8, 0.0)\",\"item2\":\"(945.0, -1323.0, 0.0)\",\"item3\":\"(390.7, -426.1, 0.0)\",\"item4\":\"(1129.8, -716.3, 0.0)\"}"
    nl = json.loads(json_str,'utf-8')
    
    >>> nl
    {u'item2': u'(945.0, -1323.0, 0.0)', u'item3': u'(390.7, -426.1, 0.0)', u'item1': u'(288.6, -1275.8, 0.0)', u'item4': u'(1129.8, -716.3, 0.0)'}

    となってしまう。unicode文字だ。

    調べた:http://stackoverflow.com/questions/956867/how-to-get-string-objects-instead-of-unicode-ones-from-json-in-python

    json_data = [s.encode('utf-8') for s in nl.values()]

    これを一度かませば、

    >>> json_data
    ['(945.0, -1323.0, 0.0)', '(390.7, -426.1, 0.0)', '(288.6, -1275.8, 0.0)', '(1129.8, -716.3, 0.0)']

    となる!