2013-05-02 34 views
4

Python中的JSON文件我需要生成一個JSON文件,如:如何從嵌套的數組/詞典/對象

{ 
    "age":100, 
    "name":"mkyong.com", 
    "messages":["msg 1","msg 2","msg 3"] 
} 

該文件中的數據應該從不同的地方來填充。什麼是在Python中做到這一點的最佳方式?我總是可以寫成一個文本文件(逐字符)。但我想知道是否有更清晰的方式可以創建一個數組,並使用一些庫方法來生成這個json文件。請建議一個好的解決方案

PS。我是新來的python

+0

使用內建[JSON庫(HTTP://docs.python。 org/3/library/json.html)... – JBernardo 2013-05-02 02:25:42

+0

但我的輸入不是json字符串 – devnull 2013-05-02 02:27:34

+0

那麼你想要什麼呢?你想要縮進?你想加載json數據?對於所有這些,使用我上面編寫的內置json庫 – JBernardo 2013-05-02 02:31:08

回答

7

你可以使用json.dumps()。你可以傳遞一個字典給它,該函數將它編碼爲json。

例子:

import json 

# example dictionary that contains data like you want to have in json 
dic={'age': 100, 'name': 'mkyong.com', 'messages': ['msg 1', 'msg 2', 'msg 3']} 

# get json string from that dictionary 
json=json.dumps(dic) 
print json 

輸出:

{"age": 100, "name": "mkyong.com", "messages": ["msg 1", "msg 2", "msg 3"]} 
0

嘗試了這一點...

import json 
with open('data.json', 'w') as outfile: 
    json.dump({ 
    "age":100, 
    "name":"mkyong.com", 
    "messages":["msg 1","msg 2","msg 3"] 
    }, outfile)