方法は次のとおりconvert List<Class> to String
です。
への方法も追加し convert the converted String back to List
ます。
.
MyClass クラス:
public class MyClass
{
public Boolean success { get; set; }
public String msg { get; set; }
// class to string
public override string ToString()
{
return success.ToString() + "," + msg;
}
public MyClass(){}
// string to class
public MyClass(string myclassTostring)
{
string[] props = myclassTostring.Split(',');
success = Convert.ToBoolean(props[0]);
msg = props[1];
}
}
変換方法:
/// Produce a List ///
List<MyClass> myclassList =
new List<MyClass>()
{
new MyClass(){success = true, msg = "1suc"},
new MyClass(){success = false, msg = "2fail"},
new MyClass(){success = true, msg = "3suc"},
new MyClass(){success = true, msg = "4suc"},
new MyClass(){success = false, msg = "5fail"},
};
/// List Convert To String ///
string myclassListToString =
String.Join(";", myclassList.Select(o => o.ToString()));
Console.WriteLine(myclassListToString);
/// String Convert Back To List ///
string[] myclassToStrings = myclassListToString.Split(';');
List<MyClass> convertBackList =
myclassToStrings.
Select(myclassTostring => new MyClass(myclassTostring)).ToList();
編集:
数か月後、触っC# ASP.NET WebAPI
ていると、JSON形式があらゆる種類の API で頻繁に使用されていることがわかりました。
JSON は、データを文字列に変換し、データに戻すための強力で便利な方法です。任意の種類のオブジェクト、配列、考えられるクラスを文字列に自動変換し、自動で元に戻すことができます。
キーワードはJSON Serialize Deserialize
で、ググれば既製のパッケージがたくさん見つかります。
そして、その有名なものの 1 つがNewtonSoft JSONであることを知っています。また、Microsoft も JOSN プロセス用の独自のライブラリを持っている可能性があります。
たとえば、次のようなものです。
public static string ToJSON(this object obj)
{
var serializer = new JavaScriptSerializer();
try
{
return serializer.Serialize(obj);
}
catch (Exception ex)
{
return "";
}
}
Nuget Package をインストールすると、NewtonSoftJson
使用できます
public static string ToJSON(object obj)
{
return JsonConvert.SerializeObject(obj);
}