首页 > 解决方案 > 如何将嵌套字符串转换为列表

问题描述

我想将嵌套字符串转换为列表

    list = '[{"dialog_context": {"dialog_active": "orderno","lifespan": 2,"name": "Order_number_dialog_context","parameters": {"orderno": ""},"prompt": "What is the order number?","time_stamp": 1565256993.914126},"followup_context": 'null',"intent": "Order_number","name": "Order_number_context","parameters_context": null,"timestamp": 1565256993.914128}]'
eval(list)

但我收到错误

> File "<string>", line 1, in <module> NameError: name 'null' is not
> defined

标签: python-3.x

解决方案


鉴于这'null'实际上只是null您可以使用json

import json

mylist = '[{"dialog_context": {"dialog_active": "orderno","lifespan": 2,"name": "Order_number_dialog_context","parameters": {"orderno": ""},"prompt": "What is the order number?","time_stamp": 1565256993.914126},"followup_context": null,"intent": "Order_number","name": "Order_number_context","parameters_context": null,"timestamp": 1565256993.914128}]'

json.loads(mylist)

[{'dialog_context': {'dialog_active': 'orderno',
  'lifespan': 2,
  'name': 'Order_number_dialog_context',
  'parameters': {'orderno': ''},
  'prompt': 'What is the order number?',
  'time_stamp': 1565256993.914126},
  'followup_context': None,
  'intent': 'Order_number',
  'name': 'Order_number_context',
  'parameters_context': None,
  'timestamp': 1565256993.914128}]

如您所见,null正在转换为None.


推荐阅读