私は最近 Python を使い始めました。JSON 文字列の 1 つを既存の JSON 文字列と連結しようとしています。私は Zookeeper も使用しているため、Python kazoo ライブラリを使用しているため、zookeeper ノードから既存の json 文字列を取得します。
# gets the data from zookeeper
data, stat = zk.get(some_znode_path)
jsonStringA = data.decode("utf-8")
印刷jsonStringA
すると、このようになります-
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
しかし、print json.loads(jsonString)
そうすると、次のように出力されます-
{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'}
ここjsonStringA
には既存の JSON 文字列があります。これで、終了時に追加する必要がある別のキーと値のペアがありますjsonStringA
-
以下は私のPythonコードです -
# 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"
jsonStringA
Zookeeper から抽出した後、私の既存は次のようになります -
{"error_1395946244342":"valueA","error_1395952003":"valueB"}
次に、このキーと値のペアを追加する必要がありますjsonStringA
-
"timestamp_in_ms":"Error Occured on machine "+host_info+" in datacenter "+ local_dc +" on the "+ step +" of process "+ c +"
要するに、キーと値のペアの下にマージする必要があります-
"error_1395952167":"Error Occured on machine h1 in datacenter dc3 on the step2 of process test"
したがって、最終的な JSON 文字列は次のようになります -
{"error_1395946244342":"valueA","error_1395952003":"valueB","error_1395952167":"Error Occured on machine h1 in datacenter dc3 on the step2 of process test"}
これは可能ですか?