我连接到一个Web API并要求响应,但我的响应显示不正确,如“高”:4.166e-5当我期望像0.00004166像数字I我要求的是BTC的市场价格,我认为这是一个32位整数的问题,但它的一个字符串,所以我失去了。对不起,如果我没有解释得很好。HttpResponse作为字符串 - 将数字转换为字母
这是我读的响应:
`{"date":1493626200,"high":4.166e-5,"low":4.158e-5,"open":4.166e-5,"close":4.158e-5,"volume":0.05681982,"quoteVolume":1364.65936831,"weightedAverage":4.163e-5}]
这是怎么IM格式化的HttpResponse
` Dim response As HttpResponseMessage = client.PostAsync(privUrl, myContent).Result
If response.IsSuccessStatusCode Then
Dim json As String = response.Content.ReadAsStringAsync().Result
Return json
End If
,然后用这个
Dim json As String = JsonConvert.DeserializeObject(responseFromServer).ToString()
编辑解串***
现在我使用EuX0示例,但仍然出现错误 无法反序列化当前的JSON数组(例如, [1,2,3])转换成类型 'class_test.FormatOutputData',因为类型需要JSON对象
Dim responseFromServer As String = apiSettings.TradingApi("returnTradeHistory¤cyPair=BTC_XRP")
TextBox1.AppendText(responseFromServer) 'so i can see whats coming in
Dim jsonString As String = responseFromServer
**Dim obj As FormatOutputData = JsonConvert.DeserializeObject(Of FormatOutputData)(jsonString)**
obj.outputValues()
这是输出的整个JSON输出[{"globalTradeID":116229026,"tradeID":"4728521","date":"2017-05-01 11:21:43","rate":"0.00004113","amount":"6118.34548991","total":"0.25164754","fee":"0.00150000","orderNumber":"40272934869","type":"buy","category":"exchange"},{"globalTradeID":116227160,"tradeID":"4728350","date":"2017-05-01 11:17:51","rate":"0.00004115","amount":"4.08198005","total":"0.00016797","fee":"0.00250000","orderNumber":"40271626179","type":"buy","category":"settlement"},{"globalTradeID":116227159,"tradeID":"4728349","date":"2017-05-01 11:17:51","rate":"0.00004115","amount":"998.42429344","total":"0.04108515","fee":"0.00250000","orderNumber":"40271625180","type":"buy","category":"marginTrade"},{"globalTradeID":116226661,"tradeID":"4728312","date":"2017-05-01 11:16:50","rate":"0.00004125","amount":"1000.00000000","total":"0.04125000","fee":"0.00150000","orderNumber":"40271087718","type":"sell","category":"marginTrade"},{"globalTradeID":116207504,"tradeID":"4726343","date":"2017-05-01 10:44:17","rate":"0.00004169","amount":"6046.78987712","total":"0.25209066","fee":"0.00150000","orderNumber":"40258966851","type":"sell","category":"exchange"},{"globalTradeID":116165595,"tradeID":"4721962","date":"2017-05-01 09:19:29","rate":"0.00004083","amount":"5908.02441914","total":"0.24122463","fee":"0.00150000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":116165589,"tradeID":"4721961","date":"2017-05-01 09:19:29","rate":"0.00004083","amount":"3.77406151","total":"0.00015409","fee":"0.00150000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":116165569,"tradeID":"4721960","date":"2017-05-01 09:19:28","rate":"0.00004083","amount":"144.21964328","total":"0.00588848","fee":"0.00250000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":115826811,"tradeID":"4679609","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"153.45158215","total":"0.00584650","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826810,"tradeID":"4679608","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"262.48126299","total":"0.01000053","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826809,"tradeID":"4679607","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"5253.48043078","total":"0.20015760","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826808,"tradeID":"4679606","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"836.80554752","total":"0.03188229","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"}]jsonString: [{"globalTradeID":116229026,"tradeID":"4728521","date":"2017-05-01 11:21:43","rate":"0.00004113","amount":"6118.34548991","total":"0.25164754","fee":"0.00150000","orderNumber":"40272934869","type":"buy","category":"exchange"},{"globalTradeID":116227160,"tradeID":"4728350","date":"2017-05-01 11:17:51","rate":"0.00004115","amount":"4.08198005","total":"0.00016797","fee":"0.00250000","orderNumber":"40271626179","type":"buy","category":"settlement"},{"globalTradeID":116227159,"tradeID":"4728349","date":"2017-05-01 11:17:51","rate":"0.00004115","amount":"998.42429344","total":"0.04108515","fee":"0.00250000","orderNumber":"40271625180","type":"buy","category":"marginTrade"},{"globalTradeID":116226661,"tradeID":"4728312","date":"2017-05-01 11:16:50","rate":"0.00004125","amount":"1000.00000000","total":"0.04125000","fee":"0.00150000","orderNumber":"40271087718","type":"sell","category":"marginTrade"},{"globalTradeID":116207504,"tradeID":"4726343","date":"2017-05-01 10:44:17","rate":"0.00004169","amount":"6046.78987712","total":"0.25209066","fee":"0.00150000","orderNumber":"40258966851","type":"sell","category":"exchange"},{"globalTradeID":116165595,"tradeID":"4721962","date":"2017-05-01 09:19:29","rate":"0.00004083","amount":"5908.02441914","total":"0.24122463","fee":"0.00150000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":116165589,"tradeID":"4721961","date":"2017-05-01 09:19:29","rate":"0.00004083","amount":"3.77406151","total":"0.00015409","fee":"0.00150000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":116165569,"tradeID":"4721960","date":"2017-05-01 09:19:28","rate":"0.00004083","amount":"144.21964328","total":"0.00588848","fee":"0.00250000","orderNumber":"40228860987","type":"buy","category":"exchange"},{"globalTradeID":115826811,"tradeID":"4679609","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"153.45158215","total":"0.00584650","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826810,"tradeID":"4679608","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"262.48126299","total":"0.01000053","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826809,"tradeID":"4679607","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"5253.48043078","total":"0.20015760","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"},{"globalTradeID":115826808,"tradeID":"4679606","date":"2017-04-30 23:10:36","rate":"0.00003810","amount":"836.80554752","total":"0.03188229","fee":"0.00250000","orderNumber":"40019069988","type":"sell","category":"exchange"}]
第一个问题是您的JSON字符串不完整。它应该以“]”结尾而不是逗号。所以,如果你能提供完整的字符串,那就太棒了。此外,您的例子JSON字符串包含FormatOutPutData对象不止一个,所以你需要做的是这样的: 昏暗的OBJ()作为FormatOutPutData = JsonConvert.DeserializeObject(中FormatOutputData())(jsonString) ,然后显示它像:OBJ(X).outputValues() – EuX0
我已经更新了JSON,输出我现在有你的例子是全球TradeID:116226661 TradeID:4728312 高:0 低:0 开放:0 关闭:0 容量:0 QuoteVolume:0 加权平均:0,但这些都缺少信息 –
你的json字符串仍然搞砸我相信在它的中间不应该是“jsonString:”。此外,信息不存在,因为您的json字符串只包含globalTradeID,tradeID,日期,费率,金额,总额,费用,订单编号,类型和类别。 查看我的原始答案更新代码。 – EuX0