<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Taming the Wild JSON Data Frontier in Member Articles</title>
    <link>https://community.qlik.com/t5/Member-Articles/Taming-the-Wild-JSON-Data-Frontier/ta-p/2535088</link>
    <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="WildWestJSON.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184654i9A69556F70E10622/image-size/large?v=v2&amp;amp;px=999" role="button" title="WildWestJSON.png" alt="WildWestJSON.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Well howdy partner.&lt;/P&gt;
&lt;P&gt;Back in that there big city all your data was nicely structured into tables and columns. Other than the chaos of a million requests your life as the data sheriff was pretty easy. You knew how to wrangle up any stray data with your &lt;FONT color="#800000"&gt;"&lt;STRONG&gt;Selects&lt;/STRONG&gt;"&lt;/FONT&gt; and your "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;Joins&lt;/STRONG&gt;&lt;/FONT&gt;."&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Like so many that hopped on a wagon train to the west in the past for a gold rush, your company&amp;nbsp; hopped on board a train to a modern data stack. Now here you are with all your outlaw JSON data coming at you like rattle snake.&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Your drifter data.&lt;/LI&gt;
&lt;LI&gt;Your snake oil data.&lt;/LI&gt;
&lt;LI&gt;Your Ghost Town Data.&lt;/LI&gt;
&lt;LI&gt;Your Gold Rush Data.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Your embedded unstructured JSON returns from an RDBMS.&lt;/LI&gt;
&lt;LI&gt;Your unstructured JSON returns from RESTful APIs.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The good news is, that it's easy to read visually.&amp;nbsp;At least it's easy to read when it's prettified.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SheriffPretty.png" style="width: 474px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184655i4AA86AA36029056E/image-size/large?v=v2&amp;amp;px=999" role="button" title="SheriffPretty.png" alt="SheriffPretty.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But your problem is that your company needs you to translate it from this unstructured textual JSON data into structured values that they can gain insights from, and take action on. Just when you think you've figured out a pattern, you discover yet another JSON structure type.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Well partner, let's walk through the various types of JSON structures you will see together. I want to help ensure your JSON Data General Store is fully operational and that you know the patterns to looks for when any new varmints come moseying along.&lt;/P&gt;
&lt;P&gt;In this post I will walk you through various examples, provide you a sample Qlik Sense Application that contains all of the types, and then provide a linked article explaining each type in more detail that you can access.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Flat JSON - Field Value Pairs&lt;/H2&gt;
&lt;P&gt;The most basic type of JSON structure is a flat one that simply contains a set of field and value pairs. The &lt;STRONG&gt;&lt;FONT color="#800000"&gt;{&lt;/FONT&gt;&lt;/STRONG&gt; and &lt;FONT color="#800000"&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/FONT&gt; are the textual wrappers that basically signify what you could think of as a single row for an entity. In a RDMS world, you would have column names and then values. In this JSON world you have field and value pairs. In this example image we have 4 fields/columns "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;outlaw_name&lt;/STRONG&gt;&lt;/FONT&gt;", "&lt;STRONG&gt;&lt;FONT color="#800000"&gt;bounty&lt;/FONT&gt;&lt;/STRONG&gt;", "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;status&lt;/STRONG&gt;&lt;/FONT&gt;" and "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;last_seen_town&lt;/STRONG&gt;&lt;/FONT&gt;." Notice that the values for the fields are separated using the ":" character. If the values are textual, then like the field names, they are wrapped in double quote characters, while numeric data isn't.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="FlagJSONIMage.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184656i69FA43962E2904A1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FlagJSONIMage.png" alt="FlagJSONIMage.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out a simple Flat JSON - Field Value Pair block.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Nested JSON Objects&lt;/H2&gt;
&lt;P&gt;A slightly more sophisticated JSON structure is one that includes a nesting if you will of the objects. Rather than simply using field value pairs like above, information surrounds entities. And entities can include other entities. In other words in an RDBMS world this would be multiple tables with primary key and foreign key relationships that would need to be joined.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can distinguish an entity from a field based on the value. Notice that sheriff doesn't have a single value, it instead contains a block of JSON code. That block has 2 simple &lt;STRONG&gt;&lt;FONT color="#993300"&gt;field:value&lt;/FONT&gt;&lt;/STRONG&gt; pairs for &lt;FONT color="#993300"&gt;&lt;STRONG&gt;name&lt;/STRONG&gt; &lt;/FONT&gt;and &lt;STRONG&gt;&lt;FONT color="#993300"&gt;badge_number&lt;/FONT&gt;&lt;/STRONG&gt; and it also includes an entity called &lt;STRONG&gt;&lt;FONT color="#993300"&gt;office.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&lt;FONT color="#000000"&gt;Unlike SQL where the office entity would exist on it's own, in our JSON structure it is nested into the office structure. While a minor distinction the point itself is major: You don't have a sheriff entity and an office entity. You have a sheriff entity and a sheriff/office entity nested within the sheriff entity.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NestedJSON.png" style="width: 245px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184675iF72BDB1FC1C5AC71/image-size/large?v=v2&amp;amp;px=999" role="button" title="NestedJSON.png" alt="NestedJSON.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Nested-JSON-Objects/ta-p/2535112" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Nested JSON Objects.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;JSON Arrays (Homogenous Objects)&lt;/H2&gt;
&lt;P&gt;Like anyone panning for gold would tell you ... the only thing better than a gold nugget is finding more than 1. Any good bandit would tell you the only thing better than a town with 1 saloon, is a town with multiple saloons.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A JSON Array of (homogenous objects) is very much like a table in an RDBMS. Instead of just having the field:value pairs for a single row, the array contains all of the rows. The &lt;STRONG&gt;&lt;FONT color="#993300"&gt;rows &lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#993300"&gt;&lt;FONT color="#000000"&gt;for the &lt;STRONG&gt;&lt;FONT color="#993300"&gt;entity&lt;/FONT&gt; &lt;/STRONG&gt;are wrapped in brackets "&lt;STRONG&gt;&lt;FONT color="#993300"&gt;[&lt;/FONT&gt;&lt;/STRONG&gt;" ... rows ... "&lt;STRONG&gt;&lt;FONT color="#993300"&gt;]&lt;/FONT&gt;&lt;/STRONG&gt;." In this image you can see we have a &lt;STRONG&gt;&lt;FONT color="#993300"&gt;saloons&lt;/FONT&gt; &lt;/STRONG&gt;entity and rather than&lt;STRONG&gt;&lt;FONT color="#993300"&gt; field:value&lt;/FONT&gt;&lt;/STRONG&gt; pairs for a single saloon, we have an &lt;FONT color="#993300"&gt;&lt;STRONG&gt;array of saloons&lt;/STRONG&gt;&lt;/FONT&gt; and each row of the array contains the simple field:value pairs.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JSONArraysImage.png" style="width: 496px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184703i1AC3DE8A34B4BEC3/image-size/large?v=v2&amp;amp;px=999" role="button" title="JSONArraysImage.png" alt="JSONArraysImage.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Taming-the-Wild-JSON-Data-Frontier/ta-p/2535088" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out JSON Arrays of Homogeneous Objects&lt;/A&gt;.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Heterogeneous (Mixed) JSON Objects&lt;/H2&gt;
&lt;P&gt;Up to this point we have been working with a single JSON object. A single string. You either open a file and voila there is one string. Or you make an API call and it returns one string.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now we will focus on heterogenous JSON data that may be streaming into you. Rather than opening a file and finding one string you find multiple strings. You call an API and instead of returning 1 result string, it keeps sending you an unknown number of strings. What's worse is that you receive heterogenous objects. The &lt;STRONG&gt;&lt;FONT color="#993300"&gt;type &lt;/FONT&gt;&lt;/STRONG&gt;field seems consistent, but each type seems to present with a different entity: A &lt;STRONG&gt;&lt;FONT color="#993300"&gt;report&lt;/FONT&gt;&lt;/STRONG&gt;, a &lt;FONT color="#993300"&gt;&lt;STRONG&gt;wanted_poster&lt;/STRONG&gt; &lt;/FONT&gt;and a &lt;STRONG&gt;&lt;FONT color="#993300"&gt;telegraph&lt;/FONT&gt;&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Don't panic data sheriff, I've got a posse of posts targeted at helping you handle these mixed JSON objects. In the first post we will look at handling this data pretty much like we've handled the JSON structures until now. In the second post I show you a much more flexible approach so that you can handle whatever desperados happen to ride into town.&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MixedJSON2.png" style="width: 312px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184724i8A7E1E6C5692380F/image-size/large?v=v2&amp;amp;px=999" role="button" title="MixedJSON2.png" alt="MixedJSON2.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Fixed-Manner/ta-p/2535212" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Objects in a fixed format.&lt;/A&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Objects in a flexible manner.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Heterogeneous (Mixed) JSON Arrays&lt;/H2&gt;
&lt;P&gt;If you look closely the following image is very similar to the image above that I used for the &lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener"&gt;Heterogeneous (Mixed) JSON Objects&lt;/A&gt; post. The difference is that instead of being multiple rows, it's a single JSON block which contains multiple rows as an array.&lt;/P&gt;
&lt;P&gt;It also looks very close to the image I used for the &lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-JSON-Array-Homogeneous-Objects/ta-p/2535153" target="_blank" rel="noopener"&gt;JSON Arrays (Homogeneous Objects)&lt;/A&gt; post above that one. The difference is that in the case of that post, the array was easy to understand as just being multiple rows for the same entity. In this case, each of the "rows" in our array our for different entities.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Dalton_Ruer_0-1762273645545.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184760i9F8B93254DE5A688/image-size/large?v=v2&amp;amp;px=999" role="button" title="Dalton_Ruer_0-1762273645545.png" alt="Dalton_Ruer_0-1762273645545.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The good news for you is that you've already done the work to handle both arrays and heterogeneous data. That is assuming you've done the homework in both of those posts. The post I'm writing for handling this type of data will be brief. All I need to do is help you understand how to combine the two algorithms.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Arrays/ta-p/2535281" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Arrays.&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Structured Arrays&lt;/H2&gt;
&lt;P&gt;Just when you thought you had all those JSON array critters rounded up ... another one appears while you were in the saloon celebrating. While there is no formal name for this JSON Version 2 array, structured, seems to make sense. Notice that is very much like SQL in that the column headers and the data are sent separately. Which reduces the data redundancy when dealing with transmitting lots and lots and lots of rows of data.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="StructuredArray_PrettyFormat.png" style="width: 416px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185363i29A83F4D6BCBA805/image-size/large?v=v2&amp;amp;px=999" role="button" title="StructuredArray_PrettyFormat.png" alt="StructuredArray_PrettyFormat.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Structured-JSON-Arrays/ta-p/2537733" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Click here to access a post dedicated to helping you parse out these structured arrays. I think you will really like the creativity I used.&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2 id="toc-hId-1628650518"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;Big Picture&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;This post is the starting post for a series aimed at ensuring you have the tools needed to Tame with Wild West Data Frontier, I mean Tame the Wild JSON Data Frontier you may be facing.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Posts:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="http://%20https/community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="nofollow noopener noreferrer" aria-describedby="audioeye_new_window_message"&gt;Taming the Wild JSON Data Frontier &amp;lt;--- You are here&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://%20https/community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="nofollow noopener noreferrer" aria-describedby="audioeye_new_window_message"&gt;Parsing: Flat JSON - Field Value Pairs&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Nested-JSON-Objects/ta-p/2535112" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Nested JSON Objects&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-JSON-Array-Homogeneous-Objects/ta-p/2535153" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: JSON Array (Homogeneous Objects)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Fixed-Manner/ta-p/2535212" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Objects Fixed Manner&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Objects Flexible Manner&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Arrays/ta-p/2535281" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Arrays&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Structured-JSON-Arrays/ta-p/2537733" target="_blank" rel="noopener"&gt;Parsing: Structured JSON Arrays&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 01 Dec 2025 20:08:37 GMT</pubDate>
    <dc:creator>Dalton_Ruer</dc:creator>
    <dc:date>2025-12-01T20:08:37Z</dc:date>
    <item>
      <title>Taming the Wild JSON Data Frontier</title>
      <link>https://community.qlik.com/t5/Member-Articles/Taming-the-Wild-JSON-Data-Frontier/ta-p/2535088</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="WildWestJSON.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184654i9A69556F70E10622/image-size/large?v=v2&amp;amp;px=999" role="button" title="WildWestJSON.png" alt="WildWestJSON.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Well howdy partner.&lt;/P&gt;
&lt;P&gt;Back in that there big city all your data was nicely structured into tables and columns. Other than the chaos of a million requests your life as the data sheriff was pretty easy. You knew how to wrangle up any stray data with your &lt;FONT color="#800000"&gt;"&lt;STRONG&gt;Selects&lt;/STRONG&gt;"&lt;/FONT&gt; and your "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;Joins&lt;/STRONG&gt;&lt;/FONT&gt;."&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Like so many that hopped on a wagon train to the west in the past for a gold rush, your company&amp;nbsp; hopped on board a train to a modern data stack. Now here you are with all your outlaw JSON data coming at you like rattle snake.&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Your drifter data.&lt;/LI&gt;
&lt;LI&gt;Your snake oil data.&lt;/LI&gt;
&lt;LI&gt;Your Ghost Town Data.&lt;/LI&gt;
&lt;LI&gt;Your Gold Rush Data.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Your embedded unstructured JSON returns from an RDBMS.&lt;/LI&gt;
&lt;LI&gt;Your unstructured JSON returns from RESTful APIs.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The good news is, that it's easy to read visually.&amp;nbsp;At least it's easy to read when it's prettified.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SheriffPretty.png" style="width: 474px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184655i4AA86AA36029056E/image-size/large?v=v2&amp;amp;px=999" role="button" title="SheriffPretty.png" alt="SheriffPretty.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But your problem is that your company needs you to translate it from this unstructured textual JSON data into structured values that they can gain insights from, and take action on. Just when you think you've figured out a pattern, you discover yet another JSON structure type.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Well partner, let's walk through the various types of JSON structures you will see together. I want to help ensure your JSON Data General Store is fully operational and that you know the patterns to looks for when any new varmints come moseying along.&lt;/P&gt;
&lt;P&gt;In this post I will walk you through various examples, provide you a sample Qlik Sense Application that contains all of the types, and then provide a linked article explaining each type in more detail that you can access.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Flat JSON - Field Value Pairs&lt;/H2&gt;
&lt;P&gt;The most basic type of JSON structure is a flat one that simply contains a set of field and value pairs. The &lt;STRONG&gt;&lt;FONT color="#800000"&gt;{&lt;/FONT&gt;&lt;/STRONG&gt; and &lt;FONT color="#800000"&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/FONT&gt; are the textual wrappers that basically signify what you could think of as a single row for an entity. In a RDMS world, you would have column names and then values. In this JSON world you have field and value pairs. In this example image we have 4 fields/columns "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;outlaw_name&lt;/STRONG&gt;&lt;/FONT&gt;", "&lt;STRONG&gt;&lt;FONT color="#800000"&gt;bounty&lt;/FONT&gt;&lt;/STRONG&gt;", "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;status&lt;/STRONG&gt;&lt;/FONT&gt;" and "&lt;FONT color="#800000"&gt;&lt;STRONG&gt;last_seen_town&lt;/STRONG&gt;&lt;/FONT&gt;." Notice that the values for the fields are separated using the ":" character. If the values are textual, then like the field names, they are wrapped in double quote characters, while numeric data isn't.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="FlagJSONIMage.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184656i69FA43962E2904A1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FlagJSONIMage.png" alt="FlagJSONIMage.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out a simple Flat JSON - Field Value Pair block.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Nested JSON Objects&lt;/H2&gt;
&lt;P&gt;A slightly more sophisticated JSON structure is one that includes a nesting if you will of the objects. Rather than simply using field value pairs like above, information surrounds entities. And entities can include other entities. In other words in an RDBMS world this would be multiple tables with primary key and foreign key relationships that would need to be joined.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can distinguish an entity from a field based on the value. Notice that sheriff doesn't have a single value, it instead contains a block of JSON code. That block has 2 simple &lt;STRONG&gt;&lt;FONT color="#993300"&gt;field:value&lt;/FONT&gt;&lt;/STRONG&gt; pairs for &lt;FONT color="#993300"&gt;&lt;STRONG&gt;name&lt;/STRONG&gt; &lt;/FONT&gt;and &lt;STRONG&gt;&lt;FONT color="#993300"&gt;badge_number&lt;/FONT&gt;&lt;/STRONG&gt; and it also includes an entity called &lt;STRONG&gt;&lt;FONT color="#993300"&gt;office.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&lt;FONT color="#000000"&gt;Unlike SQL where the office entity would exist on it's own, in our JSON structure it is nested into the office structure. While a minor distinction the point itself is major: You don't have a sheriff entity and an office entity. You have a sheriff entity and a sheriff/office entity nested within the sheriff entity.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NestedJSON.png" style="width: 245px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184675iF72BDB1FC1C5AC71/image-size/large?v=v2&amp;amp;px=999" role="button" title="NestedJSON.png" alt="NestedJSON.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Nested-JSON-Objects/ta-p/2535112" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Nested JSON Objects.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;JSON Arrays (Homogenous Objects)&lt;/H2&gt;
&lt;P&gt;Like anyone panning for gold would tell you ... the only thing better than a gold nugget is finding more than 1. Any good bandit would tell you the only thing better than a town with 1 saloon, is a town with multiple saloons.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A JSON Array of (homogenous objects) is very much like a table in an RDBMS. Instead of just having the field:value pairs for a single row, the array contains all of the rows. The &lt;STRONG&gt;&lt;FONT color="#993300"&gt;rows &lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#993300"&gt;&lt;FONT color="#000000"&gt;for the &lt;STRONG&gt;&lt;FONT color="#993300"&gt;entity&lt;/FONT&gt; &lt;/STRONG&gt;are wrapped in brackets "&lt;STRONG&gt;&lt;FONT color="#993300"&gt;[&lt;/FONT&gt;&lt;/STRONG&gt;" ... rows ... "&lt;STRONG&gt;&lt;FONT color="#993300"&gt;]&lt;/FONT&gt;&lt;/STRONG&gt;." In this image you can see we have a &lt;STRONG&gt;&lt;FONT color="#993300"&gt;saloons&lt;/FONT&gt; &lt;/STRONG&gt;entity and rather than&lt;STRONG&gt;&lt;FONT color="#993300"&gt; field:value&lt;/FONT&gt;&lt;/STRONG&gt; pairs for a single saloon, we have an &lt;FONT color="#993300"&gt;&lt;STRONG&gt;array of saloons&lt;/STRONG&gt;&lt;/FONT&gt; and each row of the array contains the simple field:value pairs.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JSONArraysImage.png" style="width: 496px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184703i1AC3DE8A34B4BEC3/image-size/large?v=v2&amp;amp;px=999" role="button" title="JSONArraysImage.png" alt="JSONArraysImage.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Taming-the-Wild-JSON-Data-Frontier/ta-p/2535088" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out JSON Arrays of Homogeneous Objects&lt;/A&gt;.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Heterogeneous (Mixed) JSON Objects&lt;/H2&gt;
&lt;P&gt;Up to this point we have been working with a single JSON object. A single string. You either open a file and voila there is one string. Or you make an API call and it returns one string.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now we will focus on heterogenous JSON data that may be streaming into you. Rather than opening a file and finding one string you find multiple strings. You call an API and instead of returning 1 result string, it keeps sending you an unknown number of strings. What's worse is that you receive heterogenous objects. The &lt;STRONG&gt;&lt;FONT color="#993300"&gt;type &lt;/FONT&gt;&lt;/STRONG&gt;field seems consistent, but each type seems to present with a different entity: A &lt;STRONG&gt;&lt;FONT color="#993300"&gt;report&lt;/FONT&gt;&lt;/STRONG&gt;, a &lt;FONT color="#993300"&gt;&lt;STRONG&gt;wanted_poster&lt;/STRONG&gt; &lt;/FONT&gt;and a &lt;STRONG&gt;&lt;FONT color="#993300"&gt;telegraph&lt;/FONT&gt;&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Don't panic data sheriff, I've got a posse of posts targeted at helping you handle these mixed JSON objects. In the first post we will look at handling this data pretty much like we've handled the JSON structures until now. In the second post I show you a much more flexible approach so that you can handle whatever desperados happen to ride into town.&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MixedJSON2.png" style="width: 312px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184724i8A7E1E6C5692380F/image-size/large?v=v2&amp;amp;px=999" role="button" title="MixedJSON2.png" alt="MixedJSON2.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Fixed-Manner/ta-p/2535212" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Objects in a fixed format.&lt;/A&gt;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Objects in a flexible manner.&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Heterogeneous (Mixed) JSON Arrays&lt;/H2&gt;
&lt;P&gt;If you look closely the following image is very similar to the image above that I used for the &lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener"&gt;Heterogeneous (Mixed) JSON Objects&lt;/A&gt; post. The difference is that instead of being multiple rows, it's a single JSON block which contains multiple rows as an array.&lt;/P&gt;
&lt;P&gt;It also looks very close to the image I used for the &lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-JSON-Array-Homogeneous-Objects/ta-p/2535153" target="_blank" rel="noopener"&gt;JSON Arrays (Homogeneous Objects)&lt;/A&gt; post above that one. The difference is that in the case of that post, the array was easy to understand as just being multiple rows for the same entity. In this case, each of the "rows" in our array our for different entities.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Dalton_Ruer_0-1762273645545.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184760i9F8B93254DE5A688/image-size/large?v=v2&amp;amp;px=999" role="button" title="Dalton_Ruer_0-1762273645545.png" alt="Dalton_Ruer_0-1762273645545.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The good news for you is that you've already done the work to handle both arrays and heterogeneous data. That is assuming you've done the homework in both of those posts. The post I'm writing for handling this type of data will be brief. All I need to do is help you understand how to combine the two algorithms.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Arrays/ta-p/2535281" target="_blank" rel="noopener"&gt;Click here to access a post dedicated to helping you parse out Heterogeneous JSON Arrays.&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Structured Arrays&lt;/H2&gt;
&lt;P&gt;Just when you thought you had all those JSON array critters rounded up ... another one appears while you were in the saloon celebrating. While there is no formal name for this JSON Version 2 array, structured, seems to make sense. Notice that is very much like SQL in that the column headers and the data are sent separately. Which reduces the data redundancy when dealing with transmitting lots and lots and lots of rows of data.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="StructuredArray_PrettyFormat.png" style="width: 416px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185363i29A83F4D6BCBA805/image-size/large?v=v2&amp;amp;px=999" role="button" title="StructuredArray_PrettyFormat.png" alt="StructuredArray_PrettyFormat.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Structured-JSON-Arrays/ta-p/2537733" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Click here to access a post dedicated to helping you parse out these structured arrays. I think you will really like the creativity I used.&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2 id="toc-hId-1628650518"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;Big Picture&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;This post is the starting post for a series aimed at ensuring you have the tools needed to Tame with Wild West Data Frontier, I mean Tame the Wild JSON Data Frontier you may be facing.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Posts:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="http://%20https/community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="nofollow noopener noreferrer" aria-describedby="audioeye_new_window_message"&gt;Taming the Wild JSON Data Frontier &amp;lt;--- You are here&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://%20https/community.qlik.com/t5/Member-Articles/Parsing-Flat-JSON-Field-Value-Pairs/ta-p/2535096" target="_blank" rel="nofollow noopener noreferrer" aria-describedby="audioeye_new_window_message"&gt;Parsing: Flat JSON - Field Value Pairs&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Nested-JSON-Objects/ta-p/2535112" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Nested JSON Objects&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-JSON-Array-Homogeneous-Objects/ta-p/2535153" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: JSON Array (Homogeneous Objects)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Fixed-Manner/ta-p/2535212" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Objects Fixed Manner&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Objects-Flexible-Manner/ta-p/2535225" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Objects Flexible Manner&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Heterogeneous-Mixed-JSON-Arrays/ta-p/2535281" target="_blank" rel="noopener" aria-describedby="audioeye_new_window_message"&gt;Parsing: Heterogeneous (Mixed) JSON Arrays&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.qlik.com/t5/Member-Articles/Parsing-Structured-JSON-Arrays/ta-p/2537733" target="_blank" rel="noopener"&gt;Parsing: Structured JSON Arrays&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2025 20:08:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Member-Articles/Taming-the-Wild-JSON-Data-Frontier/ta-p/2535088</guid>
      <dc:creator>Dalton_Ruer</dc:creator>
      <dc:date>2025-12-01T20:08:37Z</dc:date>
    </item>
  </channel>
</rss>

