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.19.1
+version: 0.19.2
 synopsis: API for parsing "aeson" JSON tree into Haskell types
 description:
   A flexible parser DSL of JSON AST produced by the \"aeson\" library
diff --git a/library/AesonValueParser.hs b/library/AesonValueParser.hs
--- a/library/AesonValueParser.hs
+++ b/library/AesonValueParser.hs
@@ -22,6 +22,7 @@
   -- * String parsers
   String,
   text,
+  mappedText,
   narrowedText,
   matchedText,
   attoparsedText,
@@ -172,6 +173,12 @@
 {-# INLINE text #-}
 text :: String Text
 text = String ask
+
+{-# INLINE mappedText #-}
+mappedText :: [(Text, a)] -> String a
+mappedText mappingList = let
+  !hashMap = HashMap.fromList mappingList
+  in narrowedText (flip HashMap.lookup hashMap)
 
 {-# INLINE narrowedText #-}
 narrowedText :: (Text -> Maybe a) -> String a
