echo '{"json":"obj"}' | python -mjson.toolCode language: PHP (php)
echoの部分は、catでやればjsonファイルをそのまま読み込むこともできます。
参考: http://docs.python.jp/2.6/library/json.html
月別アーカイブ: 1月 2013 - ページ 3
コンソールから整形されたJSONを表示
投稿者 : nocturne-project
: 2013年1月3日
コメントはありません。
Linuxから手軽にJSON文字列を整形してコンソールに出力してくれるコマンドがあったのでご紹介。
Pythonでエスケープとアンエスケープを行う
投稿者 : nocturne-project
: 2013年1月2日
コメントはありません。
Escape Unescape
s = unicode(raw_input(), "utf-8").encode('unicode_escape')
print s
print s.decode('unicode_escape')Code language: PHP (php)
これでいけた。Python3からは文字コード周りがすごい修正かかってるらしいんだけども、これがあれば問題ない気がする。raw_inputのところをリテラルに変えてもいいし、エラーも吐かずいい仕事してくれる。
ただ改行コードが・・
しかし改行コードまではエスケープしてくれない。しかも先頭の\\が消えるときがある。追記
import cgi
cgi.escape("ほげほげ");Code language: JavaScript (javascript)
こんなのもあった。
PythonでMeCab実行時に文字化けを治す
投稿者 : nocturne-project
: 2013年1月2日
コメントはありません。
文字化けの原因
文字化けの原因はどうやら一緒にインストールした辞書が原因らしい。UTF-8としてmakeしたはずなのになぜかeuc-8になってしまうらしく。これもまた混乱の原因になってしまうようです。
辞書の変更
sudo update-alternatives –config mecab-dictionary
とすることで辞書を変更できるようですが、これでutf-8を指定してるのにも関わらず文字化けする始末。どうしてなんだろうと調べてみると原因は全く関係ないところにありました。
mecabrcファイルを探す
find / -name *mecabrc*
mecabrcファイルにdecDirというディクショナリのディレクトリを指定する変数があるのでこれをutf-8対応のものに書き換えます。ややこしい・・。
/usr/local/etc/mecabrc
/etc/mecabrc
自分の環境だと2つでてきたのでこれらをviで開いてdecdirを書き換え。
書き換える元の辞書のファイルパスがわからない場合は、
find / -name *ipadic-utf8*
で探します。
/var/lib/mecab/dic/ipadic-utf8
こんなかんじになってるのがだいたい正解です。