I recently started working with Python and I am trying to concatenate one of my JSON String with existing JSON String. I am also working with Zookeeper so I get the existing json string from zookeeper node as I am using Python kazoo library.
# gets the data from zookeeper
data, stat = zk.get(some_znode_path)
jsonStringA = data.decode("utf-8")
if I print jsonStringA
it gives me like this -
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
But if I do print json.loads(jsonString)
then it prints out like this -
{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'}
Here jsonStringA
will have my existing JSON String. Now I have another key-value pair which I need to add in the exiting jsonStringA
-
Below is my Python code -
# gets the data from zookeeper
data, stat = zk.get(some_znode_path)
jsonStringA = data.decode("utf-8")
timestamp_in_ms = "error_"+str(int(round(time.time() * 1000)))
node = "/pp/tf/test/v1"
a,b,c,d = node.split("/")[1:]
host_info = "h1"
local_dc = "dc3"
step = "step2"
My existing jsonStringA
will be like this after extracting from zookeeper -
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
Now I need to append this key-value pair in the jsonStringA
-
"timestamp_in_ms":"Error Occured on machine "+host_info+" in datacenter "+ local_dc +" on the "+ step +" of process "+ c +"
So in short I need to merge below key-value pair -
"error_1395952167":"Error Occured on machine h1 in datacenter dc3 on the step2 of process test"
So final JSON String will look like this -
{"error_1395946244342":"valueA","error_1395952003":"valueB","error_1395952167":"Error Occured on machine h1 in datacenter dc3 on the step2 of process test"}
Is this possible to do?