A short blog post here demonstrating how to create a JSON string showing enum names and values for an enum in C#, simple stuff!
From Linqpad 7:
void Main ()
{
var jsonEnum = EnumUtil.GenerateJsonForEnum<PasientOvertattEnum>();
jsonEnum.Dump();
}
public static class EnumUtil
{
public static string GenerateJsonForEnum <TEnum >()
where TEnum : struct , IConvertible
{
var enumItems = new List<object >();
var sb = new StringBuilder();
sb.AppendLine("[\n" );
bool isEnumValueFound = false ;
foreach (var enumValue in Enum.GetValues(typeof (TEnum)))
{
sb.AppendLine($@" {{ ""Name"": ""{enumValue} "", ""Value"": ""{(int )enumValue} "" }}," );
isEnumValueFound = true ;
}
if (isEnumValueFound)
{
sb.Remove(sb.Length - 3 , 1 );
}
sb.AppendLine("\t]" );
return sb.ToString();
}
}
Copy
This gives the following sample json string when testing:
[
{ "Name" : "Velgverdi" , "Value" : "0" } ,
{ "Name" : "AkershusUniversitetssykehusHF" , "Value" : "1" } ,
{ "Name" : "DiakonhjemmetSykehusAS" , "Value" : "2" } ,
{ "Name" : "FinnmarkssykehusetHF" , "Value" : "3" } ,
{ "Name" : "HaraldsplassDiakonaleSykehusAS" , "Value" : "4" } ,
{ "Name" : "HelgelandssykehusetHF" , "Value" : "5" } ,
{ "Name" : "HelseBergenHF" , "Value" : "6" } ,
{ "Name" : "HelseFonnaHF" , "Value" : "7" } ,
{ "Name" : "HelseFordeHF" , "Value" : "8" } ,
{ "Name" : "HelseMoreogRomsdalHF" , "Value" : "9" } ,
{ "Name" : "HelseNordTrondelagHF" , "Value" : "10" } ,
{ "Name" : "HelseStavangerHF" , "Value" : "11" } ,
{ "Name" : "LovisenbergDiakonaleSykehusAS" , "Value" : "12" } ,
{ "Name" : "NordlandssykehusetHF" , "Value" : "13" } ,
{ "Name" : "OsloUniversitetssykehusHF" , "Value" : "14" } ,
{ "Name" : "SandvikaNevrosenter" , "Value" : "15" } ,
{ "Name" : "StOlavshospitalHF" , "Value" : "16" } ,
{ "Name" : "SykehusetiVestfoldHF" , "Value" : "17" } ,
{ "Name" : "SykehusetInnlandetHF" , "Value" : "18" } ,
{ "Name" : "SykehusetTelemarkHF" , "Value" : "19" } ,
{ "Name" : "SykehusetOstfoldHF" , "Value" : "20" } ,
{ "Name" : "SorlandetsykehusHF" , "Value" : "21" } ,
{ "Name" : "UniversitetssykehusetNordNorgeHF" , "Value" : "22" } ,
{ "Name" : "VestreVikenHF" , "Value" : "23" } ,
{ "Name" : "Utenlands" , "Value" : "24" } ,
{ "Name" : "Ukjent" , "Value" : "25" }
]
Copy
The JSON string above has been tested and validated okay against :
https://jsonlint.com/
So if you need to show the data contents of an enum into a Json, this is a simple way of doing this.