we can play with the strength of JSON Path:
myJObject = output from Deserialize JSON, a JObject

myJObject.SelectToken("..[?(@.type=='invoice_date')].mentionText").Value(of String)
myJObject.SelectToken("..[?(@.type=='invoice_date')].mentionText").Value(of DateTime)


About JSON Path: