I am trying to fetch data from JSON array of response using jayway JSON path in selenium java. Able to fetch string values, but getting error for integer and other values. Can anyone please help me on this.
ex Json:
[
{
"id":23961,
"isCardExpired":false,
"token":"455484667",
"futureSave":true,
"cardHolderName":"TestCardholder",
"cardTypeName":"VISA",
"cardFriendlyName":"TestCardFriendly",
"expiryMonth":1,
"expiryYear":2026,
"defaultCard":false,
"referenceNumber":null,
"cardType":"001"
},
{
"id":23935,
"isCardExpired":false,
"token":"0187093344741111",
"futureSave":true,
"cardHolderName":"ravi archer",
"cardTypeName":"VISA",
"cardFriendlyName":"TestCardUS",
"expiryMonth":6,
"expiryYear":2024,
"defaultCard":false,
"referenceNumber":null,
"cardType":"001"
}
]
Code i tried using import com.jayway.jsonpath.JsonPath;
String id = jsonObj.getActualValueFromJSONResponseFromJayway("$.[0]['id']");
public synchronized String getActualValueFromJSONResponseFromJayway(String xpathvalue) {
return JsonPath.read(objResponse.asString(), xpathvalue);
}
but after executing i am getting below error.
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Waiting for any suggesstion
Thanks Nihar