我有一个json字符串,我需要解析它并将id、company_code…和其他类似的值放在一个选项卡中

2024-05-01 22:07:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个json字符串。我需要解析它并将id、company_code…和其他类似的值放入mysql表中,但是这个字符串包含十六进制代码,我尝试了for循环,但是它一个字符一个字符地迭代(因为它是一个字符串)。由于是python新手,因此无法获得所需的输出。在

下面是字符串:

2月17日03:49:03 afg-prod-web2期刊:afg-prod-web2统计:192.168.28.12-200- {\x0A“公司所属单位的U代码”:“TSC”、\x0A“公司”所属的“U代码”:“TSC”、\x0A“产品”所属的“类型”为“airtime ctg”、\x0A“主机”所属的“U类型”:“安卓“安卓”\x0A}、x0A“A”id“:{\x0A“类型”:“来宾“,\x0A“组”:“来宾“,\x0A“UUUID”:“8354e5f4-e18d-11e6-9A646-0242ac110002”,\x0A“设备U id”:“77C7600500A3D115““\x0A 0 0A“类型“““““x0A“““““““},\x0A“stats”:[\x0A{\x0A“时间戳”:“2017-02-17T03:49:01+0000”,\x0A“软件”id:“A-ACTG”,\x0A“操作”id:“打开应用程序”,\x0A“值”:{\x0A“设备标识”:“77c7600c502a3d15”,\x0A“语言”:“fr”\x0A}\x0A}\x0A}\x0A]\x0A}

我尝试的代码:

with open('ctg-stats.txt', 'r') as myfile:
    data = myfile.read()
    splitData = data.split('"')
        for splitText in splitData:
            data2 = splitText.replace('\\x22','"')
            for column in splitText:
                print splitText[column]  

Tags: 字符串代码id类型for公司prod字符
1条回答
网友
1楼 · 发布于 2024-05-01 22:07:11

对于字符串,它已经是有效的json格式,您只需使用json.loads()解析它:

string = "{\x0A \x22identifier\x22: {\x0A \x22company_code\x22: \x22TSC\x22,\x0A \x22product_type\x22: \x22airtime-ctg\x22,\x0A \x22host_type\x22: \x22android\x22\x0A },\x0A \x22id\x22: {\x0A \x22type\x22: \x22guest\x22,\x0A \x22group\x22: \x22guest\x22,\x0A \x22uuid\x22: \x228354e5f4-e18d-11e6-9a46-0242ac110002\x22,\x0A \x22device_id\x22: \x2277c7600c502a3d15\x22\x0A },\x0A \x22stats\x22: [\x0A {\x0A \x22timestamp\x22: \x222017-02-17T03:49:01+0000\x22,\x0A \x22software_id\x22: \x22A-ACTG\x22,\x0A \x22action_id\x22: \x22open_app\x22,\x0A \x22values\x22: {\x0A \x22device_id\x22: \x2277c7600c502a3d15\x22,\x0A \x22language\x22: \x22fr\x22\x0A }\x0A }\x0A ]\x0A}"
import json
data = json.loads(string)
print(data)

在您的示例中,数据在一个文件中,因此只需要使用json.load

^{pr2}$

相关问题 更多 >