private AddReferencesContent ( Newtonsoft.Json.Linq.JObject jo, string runtimeForlder ) : Newtonsoft.Json.Linq.JObject | ||
jo | Newtonsoft.Json.Linq.JObject | |
runtimeForlder | string | |
return | Newtonsoft.Json.Linq.JObject |
private JObject AddReferencesContent(JObject jo, string runtimeForlder)
{
foreach (var x in jo)
{
string name = x.Key;
JToken value = x.Value;
var obj = value.ToObject<object>();
if (obj is String)
{
string file = obj.ToString();
if (file.StartsWith("$content="))
{
file = Path.Combine(runtimeForlder, file.Replace("$content=", ""));
if (File.Exists(file))
{
var content = File.ReadAllText(file);
jo[name] = content;
}
}
}
else if (obj is JObject)
{
AddReferencesContent((JObject)obj, runtimeForlder);
}
else if (obj is JArray)
{
foreach (var arrayItem in (JArray)obj)
{
if (arrayItem is JObject)
{
AddReferencesContent(arrayItem.Value<JObject>(), runtimeForlder);
}
}
jo[name] = (JArray)obj;
}
}
return jo;
}
}