2015-02-03 5 views
0

JSON 문자열을 구문 분석하고이를 mysql에 저장하는 방법을 찾으려고합니다. 이것은 내 아들입니다!Python - JSON 문자열을 구문 분석하는 방법

{"title": My title, "desc": mydesc, "url": http//example.com}

이제부터 내가 한 열 usining json.dumps에 모든 JSON을 저장하는 문제가 없습니다() 그래서 실제로 나는 MySQL의 테이블에 그를 보낼 각 joson 데이터 문자열을 구문 분석하려고 해요. 제목 | 설명 | URL.

이 내림차순 예를 들어 내 파이썬 코드 (pyspider-resultdb.py가)

def _parse(self, data): 
    for key, value in list(six.iteritems(data)): 
     if isinstance(value, (bytearray, six.binary_type)): 
      data[key] = utils.text(value) 
    if 'result' in data: 
     decoded = json.loads(data['result']) 
     data['result'] = json.dumps(decoded['desc']) 
    return data 

def _stringify(self, data): 
    if 'result' in data: 
     decoded = json.loads(data['result']) 
     data['result'] = json.dumps(decoded['desc']) 
    return data 
+0

그리고 무엇을 질문하나요? –

+3

이것은 유효한 JSON이 아닙니다. 문자열 값은 따옴표로 묶어야합니다.'{ "title": "My title"}' – myaut

+0

사용중인 DB 래퍼/커넥터에 따라 다릅니다. dict을 덤프하지 말고, 키 - 값 구조를 이용하고 단일 쿼리에서 여러 열을 업데이트하는 데 사용하십시오. –

답변

1

그것은 당신이 달성하려고하는 무엇을 당신의 질문에서 불분명하지만 문제는 어떻게 파이썬 딕셔너리에 JSON 변환하는 것입니다 테이블에로드하면 수행 할 수 있습니다.

my_dict = json.loads('{"title": "foo", "dest": "bar"}') 
curs.execute('INSERT INTO test (title, dest) values(%(title)s, %(dest)s)', my_dict) 
관련 문제