こんにちは私は入れ子になったjsonオブジェクトを持っています。jsonキーのすべての出現を正しく置き換えることができません
すべての名前を変更する場合はtotal_exec_qty_buy
& total_exec_qty_sell
〜total_exec_qty
とします。 total_num_ords
からtotal_num_ords_buy
& total_num_ords_sell
私は、次の方法でそれをやっている:
newArray = JSON.stringify(newArray).split('"total_exec_qty_buy":').join('"total_exec_qty":');
私は(1以上)ただ一つの文を実行すると、出力は結構です。 しかし、私はこれを行うとき:
newArray = JSON.stringify(newArray).split('"total_exec_qty_buy":').join('"total_exec_qty":');
newArray = JSON.stringify(newArray).split('"total_exec_qty_sell":').join('"total_exec_qty":');
newArray = JSON.stringify(newArray).split('"total_num_ords_buy":').join('"total_num_ords":');
newArray = JSON.stringify(newArray).split('"total_num_ords_sell":').join('"total_num_ords":');
を、私はこの出力を得る:
"\"\\\"[{\\\\\\\"total_wt_arr_slp_buy\\\\\\\":\\\\\\\"-1.9322\\\\\\\",\\\\\\\"total_exec_qty\\\\\\\":\\\\\\\"49654\\\\\\\",\\\\\\\"total_wt_buy\\\\\\\":\\\\\\\"0.31\\\\\\\",\\\\\\\"total_wt_arr_last_slp_buy\\\\\\\":\\\\\\\"-0.1924\\\\\\\",\\\\\\\"total_wt_ivwap_slp_buy\\\\\\\":\\\\\\\"-0.1103\\\\\\\",\\\\\\\"total_exec_val_buy\\\\\\\":\\\\\\\"3224372.00\\\\\\\",\\\\\\\"total_ord_qty_buy\\\\\\\":\\\\\\\"61688\\\\\\\",\\\\\\\"total_num_ords_buy\\\\\\\":\\\\\\\"859\\\\\\\"},{\\\\\\\"total_wt_arr_last_slp_sell\\\\\\\":\\\\\\\"-1.2509\\\\\\\",\\\\\\\"total_ord_qty_sell\\\\\\\":\\\\\\\"139654\\\\\\\",\\\\\\\"total_exec_qty_sell\\\\\\\":\\\\\\\"111012\\\\\\\",\\\\\\\"total_wt_ivwap_slp_sell\\\\\\\":\\\\\\\"-0.1833\\\\\\\",\\\\\\\"total_wt_sell\\\\\\\":\\\\\\\"0.69\\\\\\\",\\\\\\\"total_exec_val_sell\\\\\\\":\\\\\\\"7129344.00\\\\\\\",\\\\\\\"total_num_ords_sell\\\\\\\":\\\\\\\"1099\\\\\\\",\\\\\\\"total_wt_arr_slp_sell\\\\\\\":\\\\\\\"-2.4978\\\\\\\"},{\\\\\\\"total_wt_arr_last_slp\\\\\\\":\\\\\\\"-0.9213\\\\\\\",\\\\\\\"total_exec_qty\\\\\\\":\\\\\\\"160666\\\\\\\",\\\\\\\"total_wt_ivwap_slp\\\\\\\":\\\\\\\"-0.1606\\\\\\\",\\\\\\\"total_wt_arr_slp\\\\\\\":\\\\\\\"-2.3216\\\\\\\",\\\\\\\"total_ord_qty\\\\\\\":\\\\\\\"201342\\\\\\\",\\\\\\\"total_num_ords\\\\\\\":\\\\\\\"1958\\\\\\\",\\\\\\\"total_notional\\\\\\\":\\\\\\\"10353698.63\\\\\\\"}]\\\"\""
なぜこの出来事はあります?
これは、最初の操作の後にすでに文字列であるにもかかわらず、不必要に 'newArray'をストリング化しているからです。 –
配列を文字列にしたままにしておくと、毎回引用符をエスケープします。この構造体を実際に文字列の置き換えで修正したいのであれば、正規表現を使ってみてください。しかし、オブジェクト自体を操作してキーを追加/削除したり、正しいキーで新しいオブジェクトを構築したりする方が簡単でしょう。 JSON.stringifyを使い続けたい場合は、最初にONCEを使用し、文字列であるものをストリング化する代わりに、その文字列で作業を続けます。 – Shilly