2016-02-11 83 views
0

我正在使用Django(在此處編寫腳本)。我試圖解析一個JSON文件並將其添加到我創建的模型中。但是,我收到這個我無法弄清楚的奇怪錯誤!解析JSON文件並將其添加到模型

import os 
os.environ["DJANGO_SETTINGS_MODULE"] = "json_api.settings" 
import json 
from api.models import User_details 

with open('./static/test.json') as data_file: 
    data = json.load(data_file) 

r = User_details.objects.create(uid=int(data["User"]["id"]) , 
           premium=bool(data["User"]["premium"]) , 
           last_filled=data["LastFilled"] , 
           trip_mode=data["Trip_Mode"] , 
           odometer=int(data["Params"]["Odometer"]), 
           fuel=int(data["Params"]["Fuel"]), 
           tirep_fl=int(data["Params"]["Fuel"]["frontLeft"]), 
           tirep_fr=int(data["Params"]["TireP"]["frontRight"]), 
           tirep_bl=int(data["Params"]["TireP"]["backLeft"]), 
           tirep_br=int(data["Params"]["TireP"]["backRight"])) 
r.save() 

JSON文件:

{ 
    "User": { 
     "id": "123456678923", 
     "premium": "False" 
    }, 
    "LastFilled": "16/02/02-00:45:32", 
    "Trip_Mode": "Disabled", 
    "Params": { 
     "Odometer": "12345", 
     "Fuel": "0.78", 
     "TireP": { 
      "frontLeft": "32", 
      "frontRight": "29", 
      "backLeft": "24", 
      "backRight": "26" 
     } 
    } 
} 

錯誤:

(env) saru95 $ python import_data.py 
    File "import_data.py", line 19 
    r.save() 
    ^
SyntaxError: invalid syntax 

編輯:

01:

添加缺少的括號並運行python import_data.py我碰到下面的錯誤後

+1

這已經是一個不同的錯誤了,不要試圖將你遇到的所有錯誤填入一個問題。更好地檢查你的代碼,然後再提出另一個問題 – ForceBru

回答

0

我解決了這個問題,通過更換

import os 
os.environ["DJANGO_SETTINGS_MODULE"] = "json_api.settings" 

通過

from json_api.wsgi import * 

其中json_api是我的項目名稱。謝謝您的幫助 !

1

您錯過了int調用fuel以及所有四個tirep_*值的接近零部件。

0

你忘記很多右括號的:

fuel=int(data["Params"]["Fuel"]), 
tirep_fl=int(data["Params"]["Fuel"]["frontLeft"]), 
tirep_fr=int(data["Params"]["TireP"]["frontRight"]), 
tirep_bl=int(data["Params"]["TireP"]["backLeft"]), 
tirep_br=int(data["Params"]["TireP"]["backRight"])