0
我有一個JSON編碼的對象在鏽1.6.0。我想從JSON解碼它,更改一個鍵的值,並再次將其轉換回JSON編碼的字符串。我不想寫一個結構來保存數據。簡單修改的JSON對象沒有序列化得到「不能借用不可變的借來的內容作爲可變」
我正在使用的rustc_serialize,它似乎主要是圍繞序列化結構和自動做到這一點,但我只是想要一個簡單的JSON修改。
json_contents
是String
,它具有原始的編碼JSON對象。
let new_value = json::Json::from_str(&format!("[\"http://localhost:{}\"]", port)).unwrap();
let mut myjson_0 = json::Json::from_str(&json_contents).unwrap();
let mut myjson = tilejson_0.as_object().unwrap();
myjson.insert("mykey".to_owned(), new_value);
let new_json: String = json::encode(&myjson).unwrap();
不過,我得到以下錯誤:
src/main.rs:53:5: 53:13 error: cannot borrow immutable borrowed content `*myjson` as mutable
src/main.rs:53 myjson.insert("mykey".to_owned(), new_value);
^~~~~~
error: aborting due to previous error
我怎麼編譯呢?有更好,更簡單的JSON Rust庫我可以使用嗎?
你也可以用'as_object_mut'得到一個'&mut'如果你想修改原始的json對象。 –