簡體   English   中英

如何從字節創建字典(Python)

[英]How to create dictionary from bytes (Python)

我試圖從API調用創建一個列表,數據就像這樣,我相信是字節。

這里沒有什么敏感的:

[{ “UDID”: “00000004324234235”, “的SerialNumber”: “SN42A32A34”, “MACADDRESS”: “00127F287220”, “IMEI”: “”, “EasId”: “443243434225346FE9”, “AssetNumber”: “”,“DeviceFriendlyName “:”00:16:7F:18:7C:B0“,”LocationGroupId“:{”Id“:{”Value“:544},”Uuid“:”364243f-97342b-4287-9333-b942442313“,”名稱 “:” LOCATION2 “},” LocationGroupName “:” LOCATION2" , “用戶ID”:{ “ID”:{ “值”:5111}, “UUID”: “364243f-97342b-4287-9333-b942442313”,”名稱“:”MDM注冊“},”UserName“:”Enroll123“,”UserEmailAddress“:”enroll123@nitro.com“,”所有權“:”C“,”PlatformId“:{”Id“:{”Value“ :10},“名稱”:“PalmPhone”},“平台”:“PalmPhone”,“ModelId”:{“Id”:{“Value”:44},“名稱”:“PalmPhone - X101Nitro”},“型號“:”PalmPhone - X101Nitro“,”OperatingSystem“:”1.7.44444“,”PhoneNumber“:”“,”LastSeen“:”2018-11-11T07:46:57.257“,”EnrollmentStatus“:”已注冊“, “ComplianceStatus”: “合規”, “CompromisedStatus”:假的, “LastEnrolledOn”: “2018-11-09T18:26:03.610”, “LastComplianceCheckOn”: “0001-01-01T00:00:00.000”, “LastCompromisedCheckOn”: “2018-06-13T19:28:22.933”, “IsSupervised”:假的,“d eviceMCC “:{” SIMMCC “:” “ ”CurrentMCC“: ”“}, ”虛擬存儲器“:0 ”IsDeviceDNDEnabled“:假 ”IsDeviceLocatorEnabled“:假 ”IsCloudBackupEnabled“:假 ”IsActivationLockEnabled“:假” IsNetworkTethered “:假” IsRoaming “:假” SystemIntegrityProtectionEnabled “:假” ProcessorArchitecture用於 “:0,” ID “:{” 值 “:140},” UUID “:” 364243f97342b42879333-b942442313" },

然后它以相同的格式重復不同的數據。 我嘗試過(ast.literal_eval(b"myList")) (myList是包含上述所有內容的變量)。

有任何想法嗎?

如果返回的字符串是有效的json,您可以像這樣處理它:

import json
x = json.loads(myList)

然后, x將包含API調用返回的字典列表。

ast.literal_eval(myList)也應該ast.literal_eval(myList) - 如果myList實際上是你指定的bytes類型,請嘗試ast.literal_eval(myList.decode('UTF-8'))

你的API返回的問題是,它是一個列表,第一個元素的字典包含一些字段為“false”,但它們沒有用“”作為字符串封裝,而python只識別“False”,大寫字母F 。

所以你應該首先將響應轉換為文本,然后將false替換為False ,最后一點使用json.loads在代碼上使用Json :(其中api_return是你收到的)

response = str(api_return[0])
response.replace("false", "False")
response_json = json.loads(response)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM