pub fn set_float<T: Display>(
json: &str,
path: &str,
value: T,
opts: Option<&Options>,
) -> Result<String, SjsonError>Expand description
Set a float value
Examples found in repository?
examples/basic.rs (line 57)
3fn main() {
4 println!("=== sjson Rust Examples ===\n");
5
6 // Basic setting
7 println!("1. Basic setting:");
8 let json = r#"{"name":"Tom","age":37}"#;
9 let result = set(json, "name", "Jerry").unwrap();
10 println!("Original: {}", json);
11 println!("Set name=Jerry: {}", result);
12 println!();
13
14 // Nested setting
15 println!("2. Nested setting:");
16 let json = r#"{"name":{"first":"Tom","last":"Anderson"}}"#;
17 let result = set(json, "name.first", "Jerry").unwrap();
18 println!("Original: {}", json);
19 println!("Set name.first=Jerry: {}", result);
20 println!();
21
22 // Array setting
23 println!("3. Array setting:");
24 let json = r#"{"children":["Sara","Alex","Jack"]}"#;
25 let result = set(json, "children.1", "Jerry").unwrap();
26 println!("Original: {}", json);
27 println!("Set children.1=Jerry: {}", result);
28 println!();
29
30 // Set new field
31 println!("4. Set new field:");
32 let json = r#"{"name":"Tom"}"#;
33 let result = set(json, "age", "37").unwrap();
34 println!("Original: {}", json);
35 println!("Set age=37: {}", result);
36 println!();
37
38 // Set boolean value
39 println!("5. Set boolean value:");
40 let json = r#"{"name":"Tom"}"#;
41 let result = set_bool(json, "active", true, None).unwrap();
42 println!("Original: {}", json);
43 println!("Set active=true: {}", result);
44 println!();
45
46 // Set integer value
47 println!("6. Set integer value:");
48 let json = r#"{"name":"Tom"}"#;
49 let result = set_int(json, "age", 37, None).unwrap();
50 println!("Original: {}", json);
51 println!("Set age=37: {}", result);
52 println!();
53
54 // Set float value
55 println!("7. Set float value:");
56 let json = r#"{"name":"Tom"}"#;
57 let result = set_float(json, "score", 95.5, None).unwrap();
58 println!("Original: {}", json);
59 println!("Set score=95.5: {}", result);
60 println!();
61
62 // Set complex object
63 println!("8. Set complex object:");
64 let json = r#"{"name":"Tom"}"#;
65 let result = set_raw(json, "address", r#"{"city":"Beijing","country":"China"}"#).unwrap();
66 println!("Original: {}", json);
67 println!("Set address: {}", result);
68 println!();
69
70 // Set array
71 println!("9. Set array:");
72 let json = r#"{"name":"Tom"}"#;
73 let result = set_raw(json, "hobbies", r#"["reading","swimming","coding"]"#).unwrap();
74 println!("Original: {}", json);
75 println!("Set hobbies: {}", result);
76 println!();
77
78 // Delete value
79 println!("10. Delete value:");
80 let json = r#"{"name":"Tom","age":37,"city":"Beijing"}"#;
81 let result = delete(json, "age").unwrap();
82 println!("Original: {}", json);
83 println!("Delete age: {}", result);
84 println!();
85
86 // Use set_value to set complex types
87 println!("11. Use set_value to set complex types:");
88 let json = r#"{"name":"Tom"}"#;
89
90 // Set struct
91 #[derive(serde::Serialize)]
92 struct Person {
93 name: String,
94 age: u32,
95 }
96
97 let person = Person {
98 name: "Jerry".to_string(),
99 age: 25,
100 };
101
102 let result = set_value(json, "friend", &person, None).unwrap();
103 println!("Original: {}", json);
104 println!("Set friend: {}", result);
105 println!();
106
107 // Error handling example
108 println!("12. Error handling example:");
109 let json = r#"{"name":"Tom"}"#;
110
111 match set(json, "", "value") {
112 Ok(result) => println!("Success: {}", result),
113 Err(e) => println!("Error: {}", e),
114 }
115
116 match set("invalid json", "name", "value") {
117 Ok(result) => println!("Success: {}", result),
118 Err(e) => println!("Error: {}", e),
119 }
120}