using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main(string[] args)
string json = @"{'Primitive_1':'T1','Object_L1':{'Object_L2':{'Object_L3':{'Object_L4':{'Object_L5':{'Object_L6':{'Array_L7':[{'asdasdas':'SampleText1','WIDTH':'Width2'},{'gh45gdfg':'SampleText2','WIDTH':'Width'}],'12836hasvdkl':'SampleText3','WIDTH':'Width'}}},'712bedfabsmdo98':'SampleText4','WIDTH':'Width'}},'ALIAS_ID':1},'Primitive_2':'T2','Primitive_3':'T3','Primitive_4':'T4'}";
dynamic dynObj = JsonConvert.DeserializeObject(json);
var jObj = (JObject)dynObj;
foreach (var member in GetMembers(jObj))
Console.WriteLine(member);
private static IEnumerable<string> GetMembers(JToken jToken)
var members = new List<string>();
var jObject = (JObject)jToken;
foreach (var prop in jObject.Properties())
if (prop.Value is JValue)
members.AddRange(GetMembers(prop.Value).Select(member => prop.Name + "." + member));
else if (jToken is JArray)
var jArray = (JArray)jToken;
for (var i = 0; i < jArray.Count; i++)
members.AddRange(GetMembers(token).Select(member => i + "." + member));