diff --git a/aeson-value-parser.cabal b/aeson-value-parser.cabal
--- a/aeson-value-parser.cabal
+++ b/aeson-value-parser.cabal
@@ -1,5 +1,5 @@
 name: aeson-value-parser
-version: 0.13
+version: 0.13.1
 synopsis: An API for parsing "aeson" JSON tree into Haskell types
 description:
 category: Data, JSON, Parsing
diff --git a/library/Aeson/ValueParser.hs b/library/Aeson/ValueParser.hs
--- a/library/Aeson/ValueParser.hs
+++ b/library/Aeson/ValueParser.hs
@@ -19,6 +19,7 @@
   -- * Object parsers
   Object,
   field,
+  eitherField,
   fieldsMap,
   foldFields,
   foldlFields,
@@ -146,6 +147,11 @@
 field key (Value effect) = Object $ ReaderT $
   maybe ((except . Left) $ "Object contains no field '" <> key <> "'") (runReaderT effect) .
   B.lookup key
+
+{-# INLINE eitherField #-}
+eitherField :: [Text] -> Value value -> Object value
+eitherField list valueParser =
+  asum (fmap (\ key -> field key valueParser) list) 
 
 {-# INLINE fieldsMap #-}
 fieldsMap :: Value a -> Object (B.HashMap Text a)
