Q:

How to deserialize json file with dynamic child?

I have JsonFile to get data from , and that file can be change at time like nested object, so I need a solution for every change in the file 
{
"Result": [{
    "ProductIid": 883,
    "Mark": "KCD",
    "Position": null,
    "ChildProduct": [{
        "ProductIid": 8831,
        "Mark": "KCE",
        "Position": "AU20001",
    }]
},
{
  "ProductIid": 999,
    "Mark": "POM",
    "Position": null
},

And change can look this for example :
{
"Result": [{
    "ProductIid": 883,
    "Mark": "KCD",
    "Position": null,
    "ChildProduct": [{
        "ProductIid": 8831,
        "Mark": "KCE",
        "Position": "AU20001",
        "ChildProduct": [{
              "ProductIid": 8832,
              "Mark": "KCF",
              "Position": "20001",
            }]
    }]
},
{
  "ProductIid": 999,
    "Mark": "POM",
    "Position": null
},

Already I can get data from file like this, but its static solution:
var responseData = streamReader.ReadToEnd();  
rootObject=JsonConvert.DeserializeObject<RootObject(responseData);

JObject testData = JObject.Parse(responseData);
JArray child = (JArray)testData["Result"][0]["Child"];

A:

Based on the JSON you provided, this seems quite simple, e.g.
public class Product
{
    public long ProductIid {get;set;}
    public string Mark {get;set;}
    public string Position {get;set;}
    public Product[] ChildProduct {get;set;}
}

var data = JsonConvert.DeserializeObject<Product[]>(responseData);

