public static JObject ToJson(this VObject obj, VdfJsonConversionSettings settings = null) { if (settings == null) { settings = new VdfJsonConversionSettings(); } JObject resultObj = new JObject(); foreach (VProperty prop in obj.Properties()) { if (!resultObj.ContainsKey(prop.Key)) { resultObj.Add(prop.ToJson(settings)); } else if (resultObj[prop.Key] is JValue) { HandleValueDuplicateKey(resultObj, prop, settings); } else { HandleObjectDuplicateKey(resultObj, prop, settings); } } return(resultObj); }