Skip to main content

JSON Data Tutorials

Tutorial HomeJSON Data

Working with JSON Data

JSON data can be tricky. The easiest way is to convert it to a dynamic object using AsDynamic(string). Then you can easily use it in your code.


Show properties and sub-properties - case insensitive

  • Title: This is a JSON title
  • Description: True
  • Sub-item title: sub-item title
  • Is this a list/array? False
  • Are the tags a list? True

Going through a list

  1. some tag
  2. another tag
  3. a third tag

Source Code of this file

Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials.

@inherits ToSic.Sxc.Dnn.RazorComponent
@{
  var someJson = System.IO.File.ReadAllText(App.PhysicalPath + "/json/demo.json");
  var thing = AsDynamic(someJson);
}
<!-- unimportant stuff, hidden -->

<hr>
<h3>Show properties and sub-properties - case insensitive</h3>
<ul>
  <li>Title: @thing.Title</li>
  <li>Description: @thing.IsCool</li>
  <li>Sub-item title: @thing.SubItem.Title</li>
  <li>Is this a list/array? @thing.IsList </li>
  <li>Are the tags a list? @thing.Tags.IsList </li>
</ul>

<hr>
<h3>Going through a list</h3>
<ol>
@foreach(var tag in thing.Tags) {
  <li>@tag   </li>
}
</ol>

<!-- unimportant stuff, hidden -->

Demo.json

Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials.

{
    "title": "This is a JSON title",
    "isCool": true,
    "subItem": {
        "title": "sub-item title"
    },
    "tags": [
        "some tag",
        "another tag",
        "a third tag"
    ]
}