using System.Runtime.Serialization.Json;
public static T DeserializeFromJsonString<T>(this string data)
{
using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
return stream.DeserializeFromJsonStream<T>();
}
public static T DeserializeFromJsonStream<T>(this Stream stream)
{
T result = (T)new DataContractJsonSerializer(typeof(T)).ReadObject(stream);
return result;
}
class _object
{
public List<string> value { get; set; }
public _object(List<string> val)=>
value = val;
}
string[] apiOutput = { "test", "test2", "test3" };
_object myobject = new _object(apiOutput.ToList());
如果要将数组转换为对象列表:
class _object
{
public string value { get; set; }
public _object(string val)=>
value = val;
}
string[] apiOutput = {"test", "test2", "test3"};
List<_object> listObjest = apiOutput.Select(x => new _object(x)).ToList();
listObjest.ForEach(x=>Console.WriteLine(x.value));
2条答案
按热度按时间epggiuax1#
如果您使用的是Visual Studio,您可以尝试使用“编辑”菜单下的“选择性粘贴-将JSON粘贴为类”。否则您可以使用这个简单的工具https://json2csharp.com/。
对于反序列化json字符串,可以使用这两种扩展方法:
xnifntxz2#
如果需要将api outPut反序列化为单个对象:
如果要将数组转换为对象列表: