2016-06-29 131 views
0

我正在使用Django使用後端Web服務來使用JSON,以便稍後使用d3.js顯示在地圖中。問題是我無法按照需要解析json。這是該格式,我得到現在:Django - 格式化json對象

{ 
    "UT": [  
     {"score": "Republican"}, 
     {"recurrence": 32} 
    ], 
    "WI": [ 
     {"score": "Democrat"}, 
     {"recurrence": 32} 
    ] 
} 

這是我需要的格式:

{ 
    "UT": { 
     "score": "5.01", 
     "recurrence": 32 
    }, 
    "WI": { 
     "score": 4.92, 
     "recurrence": 32 
    } 
} 

我使用的功能是這一個:

def StatesJson(request, word): 

    states = State.objects.filter(word__word=word) 
    states_dict = dict() 

    for state in states: 
     states_dict[state.state] = ({"score": state.score},{"recurrence": state.recurrence}) 

    return HttpResponse(json.dumps(states_dict)) 

有任何擺脫方括號的方法?

+0

LOL這比我想象的要簡單。非常感謝! – qperotti

回答

-1

如何一點點replace(假設你的JSON被稱爲可變data):

data.replace("[", "{").replace("]", "}")

+0

這會導致無效的JSON。您正在將JSON數組轉換爲對象,但對象需要每個條目的鍵和值。 – ARJMP

1

這應該這樣做,而無需調用替換:

states_dict[state.state] = {"score": state.score, "recurrence": state.recurrence}