Skip to content

Instantly share code, notes, and snippets.

@slow-is-fast
Last active February 3, 2018 03:01
Show Gist options
  • Select an option

  • Save slow-is-fast/c6646d977020db2a76c46a51af2bace2 to your computer and use it in GitHub Desktop.

Select an option

Save slow-is-fast/c6646d977020db2a76c46a51af2bace2 to your computer and use it in GitHub Desktop.
python parse multi json in one string
#-*- coding:utf-8 -*-

import json
import re


def jsonMultiParse(s):
    try:
        return json.loads(s)
    except ValueError as problem:
        print problem
        m = re.match(
            r'Extra data: line \d+ column \d+ - line \d+ column \d+ .char (\d+) - \d+.',
            problem.message)
        if not m:
            raise
        extraStart = int(m.group(1))
        return json.loads(s[:extraStart]), jsonMultiParse(s[extraStart:])

print jsonMultiParse('{"errmsg":"用户不存在","errno":20003,"errtype":"DEFAULT_ERROR","isblock":false}{"ok":0,"msg":"\u8fd9\u91cc\u8fd8\u6ca1\u6709\u5185\u5bb9","data":{"cards":[]}}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment