Function set_float

Source
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}