2016-02-11 131 views
0

ENG_RequestData.json:如何使用python打开json文件?

{ 
    "appKey": "9c9fa7201e90d3d96718bc3f36ce4cfe1781f2e82f4e5792996623b3b474fee2c77699eb5354f2136063e1ff19c378f0f6dd984471a38ca5c393801bffb062d6", 
    "appId": "NMDPTRIAL_AutomotiveTesting_NCS61HTTP", 
    "uId": "Alexander", 
    "inCodec": "PCM_16_8K", 
    "outCodec": "PCM_16_8K", 
    "cmdName": "NVC_TTS_CMD", 
    "appName": "Python", 
    "appVersion": "1", 
    "language": "eng-GB", 
    "carrier": "carrier", 
    "deviceModel": "deviceModel", 
    "cmdDict": { 
     "tts_voice": "Serena", 
     "tts_language": "eng-GB", 
     "locale": "canada", 
     "application_name": "Testing Python Script", 
     "organization_id": "NUANCE", 
     "phone_OS": "4.0", 
     "phone_network": "wifi", 
     "audio_source": "SpeakerAndMicrophone", 
     "location": "47.4925, 19.0513", 
     "application_session_id": "1234567890", 
     "utterance_number": "5", 
     "ui_langugage": "en", 
     "phone_submodel": "nmPhone2,1", 
     "application_state_id": "45"   
     } 
} 

CODE:

print LNG // it is printing as ENG 
    ENG_RequestDataFile = scriptPath + "\\" + "ENG_RequestData.json" 
    print ENG_RequestDataFile // it is printing as C:\Users\\Desktop\OWN\2016_02_11\ENG_RequestData.json 
    DEU_RequestDataFile = scriptPath + "\\" + "DEU_RequestData.json" 
    try: 
     if LNG == 'ENG': 
      with open(ENG_RequestDataFile) as json_file: 
       print json_file 
       JSON_ENGData = json.load(json_file) 
       print JSON_ENGData 
     elif LNG == 'DEU': 
      with open(DEU_RequestDataFile) as json1_file:  
       JSON_DEUData = json.load(json1_file) 
     else: 
      print ("No Other Language") 
    except: 
     print ("[ERROR] Cannot open the Request data file") 

我从特定路径读取一个JSON文件和JSON文件是如上所示。有一个英文和德文的两个json文件,但我试图读取,但它打印为[错误]无法打开请求数据文件。我无法打开它。有人能告诉我如何?

+0

请修剪下来到[MCVE。 – Teepeemm

回答

0

试试这个代码:

import json 

#Path you posted 
path = os.path.join('C:'+os.sep+'Users'+os.sep+'Desktop' 
        +os.sep+'OWN'+os.sep+'2016_02_11' 
        +os.sep+'ENG_RequestData.json') 

def get_tts(LNG,filename): 
    try: 
     if LNG == 'ENG': 
      with open(filename) as json_file:  
       JSON_ENGData = json.load(json_file) 
       print(JSON_ENGData) 
     elif LNG == 'DEU': 
      with open(DEU_RequestDataFile) as json_file:  
       JSON_DEUData = json.load(json_file) 
     else: 
      print("No Other Language") 
    except: 
     print("[ERROR] Cannot open the Request data file") 

#Execute the function 
get_tts('ENG',path) 

点击此处了解详情: https://stackoverflow.com/a/2422864/5915424

+0

我打开我的代码中使用尝试和除了但我不能这样做的JSON文件。那是什么错误? – sam

+0

@sam get_tts函数中的scriptpath变量未定义。 – gprad

+0

它不是在try和except循环内进入。你能告诉我为什么?路径是正确的,我通过在代码中打印来检查它。 – sam