title: How to unflatten flattened json in C#
body: <p>from this <a href="https://stackoverflow.com/a/35838986/1311686">Answer</a> I learned how to flatten a JSON object in c#.
  from JSON String:</p>
  
  <pre><code>{"menu": {
    "id": "file",
    "value": "File",
    "popup": {
      "menuitem": [
        {"value": "New", "onclick": "CreateNewDoc()"},
        {"value": "Open", "onclick": "OpenDoc()"},
        {"value": "Close", "onclick": "CloseDoc()"}
      ]
    }
  }}
  </code></pre>
  
  <p>To:</p>
  
  <p>The following are lines of strings, not an object</p>
  
  <pre><code>menu.id:file
  menu.value:File
  menu.popup.menuitem[0].value:New
  menu.popup.menuitem[0].onclick:CreateNewDoc()
  menu.popup.menuitem[1].value:Open
  menu.popup.menuitem[1].onclick:OpenDoc()
  menu.popup.menuitem[2].value:Close
  menu.popup.menuitem[2].onclick:CloseDoc()
  </code></pre>
  
  <p>Now, i want to <strong>reverse</strong> the process.
  I can found implementations from this <a href="https://stackoverflow.com/questions/19098797/fastest-way-to-flatten-un-flatten-nested-json-objects">question</a> but it is in JavaScript.</p>
  
  <p>How do I <strong>unflatten</strong> (return structured JSON from lines) it in C# with json.net?</p>