2013-11-27 29 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))