JArray的前置弹出功能

  • 本文关键字:功能 JArray c# json.net
  • 更新时间 :
  • 英文 :


给定一个(Newtonsoft) JArray对象,其中包含多个项目,我如何将项目从前面弹出并反序列化它?我想这会有用:

if (jArray.Count > 0)
    using (var reader = jArray.CreateReader())
            return _serializer.Deserialize(reader, type);

但是它抱怨那个数组符号。

您可以创建一个扩展方法:

public static class JsonExtensions
{
    public static T Pop<T>(this JArray jArray)
    {
        T obj = default(T);
        if (jArray.Count > 0)
        {
            obj = jArray[0].ToObject<T>();
            jArray.RemoveAt(0);
        }
        return obj;
    }
}

那么你可以这样做:

Foo foo = jArray.Pop<Foo>();

小提琴:https://dotnetfiddle.net/ChdMhX

相关内容

  • 没有找到相关文章