果砸YYDS 2023-07-25 02:44 采纳率: 100%
浏览 21
已结题

关于#python#的问题:分割连续json

#如何用python分割多个连接起来的json
(求问)
现有一个字符串如(是由两个json无缝连接而成):

{"cmd":"ONLINE_RANK_COUNT","data":{"count":236},"is_report":false,"msg_id":"875144313051649","send_time":1690223085309}{"cmd":"ENTRY_EFFECT","data":{"basemap_   _url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","business":4,"copy_color":"#ffffff","copy_writing":"欢迎\u003c%唐周很乖y%\u003e进入直播间","copy_writing_v2":"欢迎\u003c%唐周很乖y%\u003e进入直播间","effect_silent_time":0,"effective_time":3,"effective_time_new":0,"face":"https://i1.hdslb.com/bfs/face/d2003a3bb5933d03ed25ac5106d8c046d9101563.jpg","highlight_color":"#ffea18","icon_list":[],"id":253,"identities":1,"max_delay_time":7,"mobile_dynamic_url_webp":"","mock_effect":0,"new_style":0,"priority":1,"privilege_type":0,"show_avatar":1,"target_id":1869286411,"trigger_time":1690223084898894800,"uid":3493291370744671,"wealthy_info":null,"web_basemap_url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","web_close_time":900,"web_dynamic_url_apng":"","web_dynamic_url_webp":"","web_effect_close":1,"web_effective_time":3},"is_report":false,"msg_id":"875144677431296","send_time":1690223086004} 

该怎么将它分割成:

{"cmd":"ONLINE_RANK_COUNT","data":{"count":236},"is_report":false,"msg_id":"875144313051649","send_time":1690223085309}

{"cmd":"ENTRY_EFFECT","data":{"basemap_   _url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","business":4,"copy_color":"#ffffff","copy_writing":"欢迎\u003c%唐周很乖y%\u003e进入直播间","copy_writing_v2":"欢迎\u003c%唐周很乖y%\u003e进入直播间","effect_silent_time":0,"effective_time":3,"effective_time_new":0,"face":"https://i1.hdslb.com/bfs/face/d2003a3bb5933d03ed25ac5106d8c046d9101563.jpg","highlight_color":"#ffea18","icon_list":[],"id":253,"identities":1,"max_delay_time":7,"mobile_dynamic_url_webp":"","mock_effect":0,"new_style":0,"priority":1,"privilege_type":0,"show_avatar":1,"target_id":1869286411,"trigger_time":1690223084898894800,"uid":3493291370744671,"wealthy_info":null,"web_basemap_url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","web_close_time":900,"web_dynamic_url_apng":"","web_dynamic_url_webp":"","web_effect_close":1,"web_effective_time":3},"is_report":false,"msg_id":"875144677431296","send_time":1690223086004} 

分割完后可以用json.loads()那种

  • 写回答

2条回答 默认 最新

  • 澈丹丶 2023-07-25 11:00
    关注
    
    import json
    
    def multijson_gen(multijson):
        while True:
            try:
                obj = json.loads(multijson)
                yield obj
                return
            except json.JSONDecodeError as e:
                json_str = multijson[:e.pos]
                multijson = multijson[e.pos:]
                if json_str == "":
                    return
                yield json.loads(json_str)
    
    base_json_str = """
    {"cmd":"ONLINE_RANK_COUNT","data":{"count":236},"is_report":false,"msg_id":"875144313051649","send_time":1690223085309}{"cmd":"ENTRY_EFFECT","data":{"basemap_   _url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","business":4,"copy_color":"#ffffff","copy_writing":"欢迎\u003c%唐周很乖y%\u003e进入直播间","copy_writing_v2":"欢迎\u003c%唐周很乖y%\u003e进入直播间","effect_silent_time":0,"effective_time":3,"effective_time_new":0,"face":"https://i1.hdslb.com/bfs/face/d2003a3bb5933d03ed25ac5106d8c046d9101563.jpg","highlight_color":"#ffea18","icon_list":[],"id":253,"identities":1,"max_delay_time":7,"mobile_dynamic_url_webp":"","mock_effect":0,"new_style":0,"priority":1,"privilege_type":0,"show_avatar":1,"target_id":1869286411,"trigger_time":1690223084898894800,"uid":3493291370744671,"wealthy_info":null,"web_basemap_url":"https://i0.hdslb.com/bfs/live/mlive/6d38ab463be28a130870c8c43d109473f215963e.png","web_close_time":900,"web_dynamic_url_apng":"","web_dynamic_url_webp":"","web_effect_close":1,"web_effective_time":3},"is_report":false,"msg_id":"875144677431296","send_time":1690223086004} 
    """
    for sub_json in multijson_gen(base_json_str):
        print(sub_json)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 修改了问题 7月25日
  • 修改了问题 7月25日
  • 展开全部