从HTTP事件流Java提取数据



我目前正在使用基于硒的自动化框架进行测试自动化。我目前正在发送HTTP请求,以创建API套件。

但是,我需要发布的下一个URL是文本/事件流的一部分。我需要提取的数据在EventsTream本身内。

a["{"jsonrpc":"2.0","id":1,"result":{"VirgoSessionToken":"8C7A0FAA-EA27-473A-BCC3-E568ABDBD403","Localization":{"LocaleString":"en_UK","LanguageTag":"en-UK","DecimalSeparator":".","ZeroDigit":"0","ThousandsSeparator":",","CurrencySymbolLocation":"PREFIX"},"Balance":{"Timestamp":1493730819967,"Banks":{"CREDIT":{"Amount":83872,"CurrencyCode":"GBP","MinorCurrencyUnits":2,"CurrencySymbol":"GBP"},"WINNINGS":{"Amount":0,"CurrencyCode":"GBP","MinorCurrencyUnits":2,"CurrencySymbol":"GBP"}}},"Preferences":{"Global":{},"Game":{}},"State":{"value":"{\"serverState\":{\"player\":{\"uniqueVirgoId\":\"f85551d0-2f36-11e7-9136-314c3f96f318\",\"playerBindingState\":{\"20\":0,\"40\":0,\"60\":0,\"80\":0,\"100\":0,\"200\":0,\"400\":0,\"600\":0,\"800\":0,\"1000\":0,\"2000\":0,\"4000\":0,\"6000\":0,\"8000\":0,\"10000\":0},\"populated\":true},\"game\":{\"currencyCode\":\"\"}},\"jackpotState\":{}}"},"ApiPhase":"Idle"}}"]   

我需要使用Java提取金额值。如果代码格式不是很好,则表示歉意。

是否有最佳方法从EventsTreams中提取数据?

作为我的框架的示例:

String webSocketUrl = insHostedUrl + responseTitle + "/xc_yx4r_" + "/eventsource";
assertTrue(httpCreateRequest("post", webSocketUrl);
assertTrue(httpSendRequest());
response = httpGetResponse();

在URL中,此帖子在请求中可见。但是,这并不能让我进入EventsTream数据。

您可能可以使用Google JSON库并运行一些这样的代码。

JsonObject jsonObject = new 
JsonParser().parse({"Amount":0}").getAsJsonObject();
System.out.println(jsonObject.get("Amount").getAsString());

这是另一篇文章,提供了更多信息如何在Java中解析JSON

最新更新