Skip to content

Instantly share code, notes, and snippets.

@ghstahl
Created August 5, 2017 22:03
Show Gist options
  • Save ghstahl/94832b9ba312d9054c783f6e195ec1bf to your computer and use it in GitHub Desktop.
Save ghstahl/94832b9ba312d9054c783f6e195ec1bf to your computer and use it in GitHub Desktop.
using System.Dynamic;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Hello
{
public static class ExpandoObjectExtensions
{
public static ExpandoObject Clone(this ExpandoObject original)
{
var expandoObjectConverter = new ExpandoObjectConverter();
var originalDoc = JsonConvert.SerializeObject(original, expandoObjectConverter);
dynamic clone = JsonConvert.DeserializeObject<ExpandoObject>(originalDoc, expandoObjectConverter);
return clone;
}
public static string ToJson(this ExpandoObject original)
{
var expandoObjectConverter = new ExpandoObjectConverter();
var originalDoc = JsonConvert.SerializeObject(original, expandoObjectConverter);
return originalDoc;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment