2013-11-27 27 views
0

我想將數組轉換爲對象。如何將數組轉換爲python中的json對象

I have an array : ['BROOKLYN','STATEN ISLAND','OZONE PARK','SOUTH OZONE PARK', 'JAMAICA','OZONE PARK'] 

我將transofrm它添加到json對象添加「:紅色」前綴。

colormap = {'NEW YORK': 'red', 'BROOKLYN': 'red', 'STATEN ISLAND': 'red', 'OZONE PARK':'red','SOUTH OZONE PARK':'red', 'JAMAICA':'red','OZONE PARK': 'red'} 

我該怎麼做?

+3

它看起來像要將列表轉換爲字典。這與JSON有什麼關係? –

回答

1
  1. 您可以使用fromkeys方法在字典中,像這樣的

    print {}.fromkeys(myArray, "set") 
    
  2. 或者您可以使用zip這樣

    print dict(zip(myArray, ["set"] * len(myArray))) 
    

輸出

{'OZONE PARK': 'set', 'BROOKLYN': 'set', 'STATEN ISLAND': 'set', 'SOUTH OZONE PARK': 'set', 'JAMAICA': 'set'} 
+2

'dict.fromkeys'好像是正確的方式。 ('{} .fromkeys'沒有太多含義。)但是爲什麼要用'zip'呢? – Ryan

+1

'dict.fromkeys'是理想的,因爲這個值是不可變的。帶有zip的版本......你爲什麼會用這個方法破壞一個好的答案? –

2

據我所知,你想從你的列表中創建一個字典。如果是這樣,你可以像這樣做:

colormap = {x:'red' for x in myList} 

之後,您可以在使用JSON模塊JSON格式保存(請參閱相關的問題Storing Python dictionariesdocumentation)。

+0

謝謝!什麼是將它保存爲json對象的最佳方式(.to_JSON()) – user3001937

+0

@ user3001937請檢查json信息的編輯(之前已詢問過幾次 - 您可以搜索其他類似的問題)。 – sashkello

0
import json 

array = ["test", "test1", "test2"] 

colors = {item: "red" for item in array} 

json_str_colors = json.dumps(colors) 

print(repr(json_str_colors))