A JSON-shaped string needs quotes around text fields and escaping before data is embedded.

Program

Play the program to choose a name and build a small JSON-shaped record with a fixed score.

name
json_like_record.rs
Replay: real traced execution (multi-file project)
fn main() {
    let name = "Ada";
    let score = 7;
    let record = json_record(name, score);
    println!("{record}");
}

fn json_record(name: &str, score: i32) -> String {
    format!("{{\"name\":\"{}\",\"score\":{score}}}", escape_json(name))
}

fn escape_json(text: &str) -> String {
    text.replace('\\', "\\\\").replace('"', "\\\"")
}
fn main() {
    let name = "Lin";
    let score = 7;
    let record = json_record(name, score);
    println!("{record}");
}

fn json_record(name: &str, score: i32) -> String {
    format!("{{\"name\":\"{}\",\"score\":{score}}}", escape_json(name))
}

fn escape_json(text: &str) -> String {
    text.replace('\\', "\\\\").replace('"', "\\\"")
}
fn main() {
    let name = "Mira";
    let score = 7;
    let record = json_record(name, score);
    println!("{record}");
}

fn json_record(name: &str, score: i32) -> String {
    format!("{{\"name\":\"{}\",\"score\":{score}}}", escape_json(name))
}

fn escape_json(text: &str) -> String {
    text.replace('\\', "\\\\").replace('"', "\\\"")
}
  1. name ← "Ada", score ← 7

    1fn main() {2    let nam→ "Ada"e = "Ada"; //@name="Ada", "Lin", "Mira"3    let scor→ 7e = 7;4    let record = json_record(nam"Ada"e, scor7e);5    println!("{record}");
  2. record ← "{\"name\":\"Ada\",\"score\":7}"

    3    let score = 7;4    let recor→ "{\"name\":\"Ada\",\"score\":7}"d = json_record(nam"Ada"e, scor7e);5    println!("{record}");6}
    output{"name":"Ada","score":7}
  1. name ← "Lin", score ← 7

    1fn main() {2    let nam→ "Lin"e = "Lin";3    let scor→ 7e = 7;4    let record = json_record(nam"Lin"e, scor7e);5    println!("{record}");
  2. record ← "{\"name\":\"Lin\",\"score\":7}"

    3    let score = 7;4    let recor→ "{\"name\":\"Lin\",\"score\":7}"d = json_record(nam"Lin"e, scor7e);5    println!("{record}");6}
    output{"name":"Lin","score":7}
  1. name ← "Mira", score ← 7

    1fn main() {2    let nam→ "Mira"e = "Mira";3    let scor→ 7e = 7;4    let record = json_record(nam"Mira"e, scor7e);5    println!("{record}");
  2. record ← "{\"name\":\"Mira\",\"score\":7}"

    3    let score = 7;4    let recor→ "{\"name\":\"Mira\",\"score\":7}"d = json_record(nam"Mira"e, scor7e);5    println!("{record}");6}
    output{"name":"Mira","score":7}
JSON-shaped text The output follows a simple JSON object shape for this fixed record.
escaping `escape_json` protects text before embedding it between quotes.
crate boundary This example shows the concept without adding an external serialization crate.