0

当我调用 response.getBody() 时,我试图点击一个 API 端点,该端点响应如下所示

{“oktaToken”:“eyJraWQiOiIyNlN1NHFMNnVVZTVJX2M5X2Z3WmZvX09ON0dNUHRtQzlEeHFsTGplLS00IiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULlVINmdIOF9BcWJ”}

现在我想将此令牌的值存储到一个字符串变量中。

response.getbody() 已经是一个字符串,但我希望将该值存储在一个字符串变量中。我不想在字符串 (response.getbody()) 中进行任何操作,例如拆分和子字符串。

有没有使用 json 解析的东西,所以我可以通过传递 key('oktaToken') 来获取变量中 token 的值?

4

2 回答 2

0

JSON.parse(string)将使用输入字符串创建一个对象,然后可以使用点符号访问它的属性。

因此,在您的情况下,您可以执行以下操作:

var responseBody = JSON.parse(response.getBody());
var oktaToken = responseBody.oktaToken;
于 2020-06-08T15:25:38.363 回答
0
String jsonStr = '{ "oktaToken":"eyJraWQiOiIyNlN1NHFMNnVVZTVJX2M5X2Z3WmZvX09ON0dNUHRtQzlEeHFsTGplLS00IiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULlVINmdIOF9BcWJ" }';
Map<String, String> m = (Map<String, String>) JSON.deserialize(jsonStr, Map<String, String>.class);
String oktaToken = m.get('oktaToken');
System.debug(oktaToken);

这是你想要的?

于 2020-06-09T21:13:04.233 回答