Read fields from JSON text.

json-parse-fields `JSON.parse` turns JSON text back into JavaScript data. After parsing, code can read fields by name.

Parsing Fields

sourceName
json_parse_fields.js
Replay: real traced execution (multi-file project)
const sourceName = "Ada";
const text = "{\"name\":\"" + sourceName + "\",\"level\":3}";
const name = JSON.parse(text).name;
const level = JSON.parse(text).level;

console.log("name=" + name);
console.log("level=" + level);
const sourceName = "Bo";
const text = "{\"name\":\"" + sourceName + "\",\"level\":3}";
const name = JSON.parse(text).name;
const level = JSON.parse(text).level;

console.log("name=" + name);
console.log("level=" + level);
const sourceName = "Cy";
const text = "{\"name\":\"" + sourceName + "\",\"level\":3}";
const name = JSON.parse(text).name;
const level = JSON.parse(text).level;

console.log("name=" + name);
console.log("level=" + level);
  1. sourceName ← Ada, text ← {"name":"Ada","level":3}, name ← Ada

    1const sourceName→ Ada = "Ada"; //@sourceName="Bo", "Cy"2const text→ {"name":"Ada","level":3} = "{\"name\":\"" + sourceName→ Ada + "\",\"level\":3}";3const name→ Ada = JSON.parse(text{"name":"Ada","level":3}).name;4const level→ 3 = JSON.parse(text{"name":"Ada","level":3}).level;56console.log("name=" + nameAda);7console.log("level=" + level3);
    outputname=Ada
    level=3
  1. sourceName ← Bo, text ← {"name":"Bo","level":3}, name ← Bo, level ← 3

    1const sourceName→ Bo = "Bo";2const text→ {"name":"Bo","level":3} = "{\"name\":\"" + sourceName→ Bo + "\",\"level\":3}";3const name→ Bo = JSON.parse(text{"name":"Bo","level":3}).name;4const level→ 3 = JSON.parse(text{"name":"Bo","level":3}).level;56console.log("name=" + nameBo);7console.log("level=" + level3);
    outputname=Bo
    level=3
  1. sourceName ← Cy, text ← {"name":"Cy","level":3}, name ← Cy, level ← 3

    1const sourceName→ Cy = "Cy";2const text→ {"name":"Cy","level":3} = "{\"name\":\"" + sourceName→ Cy + "\",\"level\":3}";3const name→ Cy = JSON.parse(text{"name":"Cy","level":3}).name;4const level→ 3 = JSON.parse(text{"name":"Cy","level":3}).level;56console.log("name=" + nameCy);7console.log("level=" + level3);
    outputname=Cy
    level=3