JD2022-TU1/main/tools/services/JD.GoogleAchievement.Service/Extension/JObjectExtension.cs

27 lines
621 B
C#

using Newtonsoft.Json.Linq;
namespace JD.GoogleAchievement.Service.Extension
{
public static class JObjectExtension
{
public static T GetOrCreateProperty<T>(this JObject jObject, string name)
where T : JToken, new()
{
T child;
if (jObject.TryGetValue(name, out JToken token) && token is T)
{
child = (T)token;
}
else
{
jObject.Remove(name);
child = new T();
jObject.Add(name, child);
}
return child;
}
}
}