2015-02-03 3 views
0

Я пытаюсь найти способ разбора строки JSON и сохранить их в mysql. Это мой json!Python - как разбирать строку JSON

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

Теперь я не проблема, чтобы сохранить все JSON в один json.dumps столбцов usining(), так что на самом деле я пытаюсь разобрать каждую строку данных joson, чтобы отправить его в тузд таблице. Название | Desc | 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 в питон Dict и затем загрузите на стол, то вот как это можно сделать:

my_dict = json.loads('{"title": "foo", "dest": "bar"}') 
curs.execute('INSERT INTO test (title, dest) values(%(title)s, %(dest)s)', my_dict) 
Смежные вопросы