在python中将unicode转换为json数据

2024-10-01 13:43:47 发布

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

我正在获取数据="{\"share_content\":\"dfbgfbfb\",\"campaign_media_url\":\"\",\"shorten_url\":null,\"media_shorten_url\":null,\"og_meta_data\":{\"site_name\":\"Inquirly\",\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"beta.inquirly.com\",\"type\":\"article\"},\"tw_meta_data\":{\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"@markethubs\",\"card\":\"summary_large_image\"},\"sms_content\":\"dfbgfbfb\",\"email_subject\":\"dfbgfbfb\",\"footer\":{\"fb_feed_name\":\"smartmbbs\",\"fb_feed_caption\":\"smartmbbs | VIA INQUIR.LY\",\"fb_description\":\"\",\"ln_title\":null}}"

当我试图找到数据变量的类型时,<type 'unicode'>。 我尝试过使用json.loadsjson.dumps的不同方法,但未能从数据中获得share_content值。我遇到了不同的问题,比如字符串索引必须是整数,等等

我的代码:

 campaign_data = dbsession.execute("SELECT campaign_data FROM campaign_details 
                 WHERE campaign_id = '%d'"%(218)).first()
 for  row in campaign_data:
   sms_content = row
   try:
     print sms_content
     print type(sms_content)
     gst = json.loads(sms_content)
     print type(gst)
     #print json_stng['share_content']
   except (ValueError, KeyError, TypeError): 
     print "JSON format error"
     print "smssss"

我正在从查询中获取上述数据变量作为sms_content[0]


Tags: comjsonurlsharedatatitletypesite
2条回答

使用JSON module

例如:

import json
data = "{\"share_content\":\"dfbgfbfb\",\"campaign_media_url\":\"\",\"shorten_url\":null,\"media_shorten_url\":null,\"og_meta_data\":{\"site_name\":\"Inquirly\",\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"beta.inquirly.com\",\"type\":\"article\"},\"tw_meta_data\":{\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"@markethubs\",\"card\":\"summary_large_image\"},\"sms_content\":\"dfbgfbfb\",\"email_subject\":\"dfbgfbfb\",\"footer\":{\"fb_feed_name\":\"smartmbbs\",\"fb_feed_caption\":\"smartmbbs | VIA INQUIR.LY\",\"fb_description\":\"\",\"ln_title\":null}}"
print(json.loads(data))

输出:

^{2}$

将Unicode转换成utf-8格式,然后就可以进行json转储了

        data = "{\"share_content\":\"dfbgfbfb\",\"campaign_media_url\":\"\",\"shorten_url\":null,\"media_shorten_url\":null,\"og_meta_data\":{\"site_name\":\"Inquirly\",\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"beta.inquirly.com\",\"type\":\"article\"},\"tw_meta_data\":{\"description\":null,\"title\":null,\"url\":\"https://s3.amazonaws.com/campaign.ezeees.com/Ukb/a15Hh/index.html\",\"image\":null,\"site\":\"@markethubs\",\"card\":\"summary_large_image\"},\"sms_content\":\"dfbgfbfb\",\"email_subject\":\"dfbgfbfb\",\"footer\":{\"fb_feed_name\":\"smartmbbs\",\"fb_feed_caption\":\"smartmbbs | VIA INQUIR.LY\",\"fb_description\":\"\",\"ln_title\":null}}"
        print data.decode('utf-8')

输出:

^{2}$

相关问题 更多 >