Reading and parsing JSON in general and specifically in Rust 🦀

Tomorrow I am going to give a presentation about Reading and parsing JSON in 🦀 Rust.

As a last minute preparation I'd like to go over the main cases I need to cover. Maybe some of my readers will have ideas what else to show.

  • ❓What is JSON

  • 🎃 Reading an arbitrary JSON file without knowing it internal structure. Regardless if the main element is an object or an array. (a mapping or a list)

  • 🤖 Reading a JSON which is a plain array of values.
  • 👹 Reading a JSON which a single level object, key-value pairs of arbitrary values of some known type. e.g string-string pairs or string-number pairs.
  • 👿 Defining some of the fields in a JSON object.
  • 👾 Defining all the fields of the JSON object and making sure the JSON we read in does not have any extra fields.
  • 👽 Reading a JSON where a certain field can either have a single value or a vector as a value. In some unfortunate case we might have both language: English and language: [English, Spanish] in different files.
  • 🥷 Making sure all the expected fields exist in the file.
  • 🤡 Reading JSON where the field name is not valid attribute in our language. e.g. Most programming language will not allow an a variable or an attribute to have a dash - in them. So a field called runs-on cannot be mapped directly to an attribute.

  • 🧶 Reading a JSON-Lines file with multiple JSON structures where each JSON structure is on a separate physical row.