需要删除 JSON 对象中的数组
Need to remove array in JSON object
我的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",)
如果你想删除 "Values: " from the string that
json.dumps` 产品,你可以做一个替换:
json_string = json.dumps(row,cls=DateTimeEncoder)
json_string = json_string.replace("Values: ", "")
然后在该字符串上使用 put_record
。您的 json 对象是一个字典,因此您不能只从中删除 values:
string/key。如果您确实删除了 values
键,则该对象将为空。
您可以调用 row['values']
,这将 return values
.
中的值
您的代码中的示例是
kinesis.put_record(StreamName=str(sys.argv[4]), Data=json.dumps(row['values'],cls=DateTimeEncoder)
我的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",)
如果你想删除 "Values: " from the string that
json.dumps` 产品,你可以做一个替换:
json_string = json.dumps(row,cls=DateTimeEncoder)
json_string = json_string.replace("Values: ", "")
然后在该字符串上使用 put_record
。您的 json 对象是一个字典,因此您不能只从中删除 values:
string/key。如果您确实删除了 values
键,则该对象将为空。
您可以调用 row['values']
,这将 return values
.
您的代码中的示例是
kinesis.put_record(StreamName=str(sys.argv[4]), Data=json.dumps(row['values'],cls=DateTimeEncoder)