首页 > 解决方案 > 需要删除 JSON 对象中的数组

问题描述

我的 json 对象是:{"values": {"empid": 20000, "empName": "Sourav", "empSal": 8200}} 但我想删除"Values: ". 我怎样才能做到这一点?我用 Python 写了一段代码。在后台它正在从 MySQL 获取流数据并发送到 Kinesis。

def main():
  connection = {
    "host": "127.0.0.1",
    "port": int(sys.argv[1]),
    "user": str(sys.argv[2]),
    "passwd": str(sys.argv[3])}
  kinesis = boto3.client("kinesis",region_name='ap-south-1')
  stream = BinLogStreamReader(
            connection_settings=connection,
            only_events=[DeleteRowsEvent, WriteRowsEvent, UpdateRowsEvent],
            server_id=100,
            blocking=True,
            log_file='mysql-bin.000003',
            resume_stream=True,
        )
  for binlogevent in stream:
    for row in binlogevent.rows:
      print (json.dumps(row,cls=DateTimeEncoder)) 
      kinesis.put_record(StreamName=str(sys.argv[4]), Data=json.dumps(row,cls=DateTimeEncoder), 
                         PartitionKey="default",)

标签: pythonjsonamazon-web-servicesamazon-kinesis

解决方案


您可以调用row['values']which 将返回values.

您的代码中的一个示例是

kinesis.put_record(StreamName=str(sys.argv[4]), Data=json.dumps(row['values'],cls=DateTimeEncoder)

推荐阅读