# Split nested json data into columns and rows

**URL:** <https://community.parabola.io/t/split-nested-json-data-into-columns-and-rows/823>\
**Category:** Ask a question\
**Created:** [July 17, 2020, 6:55am UTC](https://community.parabola.io/t/split-nested-json-data-into-columns-and-rows/823 "2020-07-17T06:55:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daesung\_Kim](https://avatars.discourse-cdn.com/v4/letter/d/c5a1d2/32.png) [@Daesung\_Kim](https://community.parabola.io/u/Daesung_Kim)\
**Post date:** [July 17, 2020, 6:55am UTC](https://community.parabola.io/t/split-nested-json-data-into-columns-and-rows/823/1 "2020-07-17T06:55:44Z")

</div>

Hello folks! I just started using parabola and found it very useful!

Btw, I want to split following json data into columns for confirmed, deaths, and recovered, and rows for each date.

{“1/22/20”:{“confirmed”:1,“deaths”:0,“recovered”:0},“1/23/20”:{“confirmed”:1,“deaths”:0,“recovered”:0},“1/24/20”:{“confirmed”:2,“deaths”:0,“recovered”:0},“1/25/20”:{“confirmed”:2,“deaths”:0,“recovered”:0},“1/26/20”:{“confirmed”:5,“deaths”:0,“recovered”:0},“1/27/20”:{“confirmed”:5,“deaths”:0,“recovered”:0},“1/28/20”:{“confirmed”:5,“deaths”:0,“recovered”:0},“1/29/20”:{“confirmed”:5,“deaths”:0,“recovered”:0}, …

I tried json flattener, but it just split all data into columns which is not I expected.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/ddfe2286b9d7d1c72cf81c9016845da8700f7257.png)

What I want is to group data with same date into a same row.  
Could anybody help me out with this?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![brian](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/brian/32/11_2.png) [@brian](https://community.parabola.io/u/brian)\
**Post date:** [July 17, 2020, 5:20pm UTC](https://community.parabola.io/t/split-nested-json-data-into-columns-and-rows/823/2 "2020-07-17T17:20:09Z")

</div>

Hey there!

This type of JSON structure can be tricky to deal with.

Paste this into your flow, to add the steps that I created for you:

parabola:cb:8f8ee3c487034cfcb507c2f4743a5d57

Connect your API data to that column filter and it should work!

Here is what the sequence looks like:

 ![Screen Shot 2020-07-17 at 10.16.09 AM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/aba1f417de12a85a74490396172650dabd61f1c6.jpeg)

We expand the data into new columns, as you have in your first screenshot, and then we flip that table to turn the headers into rows - the headers have the information we are after to create a nice looking table.

Then we rename it to make that column friendly looking.

Then we split the column containing the old column names, since they are in JSON dot notation, there are names like `timeseries.1/22/20.confirmed` and `timeseries.1/22/20.deaths` and we want to have `confirmed` and `deaths` as headers, but want the dates to be rows - so we need to separate them!

Then we remove the extra column that was created so that it doesn’t mess up later steps.

Then we use a Pivot columns step to move those labels up into the column headers, and that consolidates the data into our timeseries table!

---

<div class="post-metadata">

**Author:** ![Daesung\_Kim](https://avatars.discourse-cdn.com/v4/letter/d/c5a1d2/32.png) [@Daesung\_Kim](https://community.parabola.io/u/Daesung_Kim)\
**Post date:** [July 18, 2020, 12:23am UTC](https://community.parabola.io/t/split-nested-json-data-into-columns-and-rows/823/3 "2020-07-18T00:23:50Z")

</div>

Super!

Thank you so much for your help. This saved my day!  
I gotta recommend Parabola to my colleagues.
