使用Unity

时间:2017-05-15 14:24:28

标签: c# database curl unity3d request

我正在尝试从CURL获取特定数据,但我得到完整数据这是使用

的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;



public class getRequest : MonoBehaviour {

    // Use this for initialization
    void Start () {
        string url = "https://blockchain.info/ticker";
        WWW www = new WWW(url);
        StartCoroutine(WaitForRequest(www));

    }
    IEnumerator WaitForRequest(WWW www)
    {
        yield return www;

        // check for errors
        if (www.error == null)
        {            
            Debug.Log("WWW Ok!: " +www.text);
        }
        else
        {
            Debug.Log("WWW Error: " + www.error);
        }
    }
}

像这样获取OUTPUT

  

WWW Ok!:{“USD”:{“15m”:1740.01,“last”:1740.01,“buy”:   1740.01,“卖出”:1744.74,“符号”:“$”},“ISK”:{“15m”:179479.11,“最后”:179479.11,“买”:179479.11,“卖出”:179967,“符号”: “kr”},“HKD”:{“15m”:13551.08,“last”:13551.08,“买”   :13551.08,“卖出”:13587.92,“符号”:“$”},“TWD”:{“15m”:   52292.17,“last”:52292.17,“buy”:52292.17,“sell”:52434.32,“symbol”:“NT $”},“CHF”:{“15m”:1733.63,“last”:1733.63,“buy” :   1733.63,“卖出”:1738.35,“符号”:“CHF”},“EUR”:{“15m”:1584.76,“最后”:1584.76,“买”:1584.76,“卖出”:1589.07,“符号”: “€”},“DKK”:{“15m”:11790.2,“last”:11790.2,“buy”:11790.2,   “卖”:11822.25,“symbol”:“kr”},“CLP”:{“15m”:1161247.87,   “最后”:1161247.87,“买”:1161247.87,“卖出”:1164404.58,“符号”   :“$”},“CAD”:{“15m”:2373.57,“last”:2373.57,“buy”:2373.57,   “卖出”:2380.02,“符号”:“$”},“INR”:{“15m”:111442.86,“最后”   :111442.86,“买”:111442.86,“卖出”:111745.8,“符号”:“₹”},   “CNY”:{“15m”:11994.67,“last”:11994.67,“buy”:11994.67,“sell”   :12027.28,“symbol”:“¥”},“THB”:{“15m”:60079.94,“last”:   60079.94,“买”:60079.94,“卖出”:60243.26,“符号”:“฿”},“澳元”:{“15m”:2342.53,“最后”:2342.53,“买”:2342.53,“卖出”:   2348.9,“symbol”:“$”},“SGD”:{“15m”:2434.82,“last”:2434.82,“buy”:2434.82,“sell”:2441.44,“symbol”:“$”},“ KRW“:{”15m“:   1943939.17,“last”:1943939.17,“buy”:1943939.17,“sell”:1949223.53,“symbol”:“₩”},“JPY”:{“15m”:197725.17,“last”:197725.17,“buy”: 197725.17,“sell”:198262.66,“symbol”:“¥”},“PLN”:{“15m”:6655.07,“last”:6655.07,“buy”:6655.07,“sell”:   6673.16,“symbol”:“zł”},“GBP”:{“15m”:1347.87,“last”:1347.87,“buy”:1347.87,“sell”:1351.53,“symbol”:“£”},“ SEK“:{”15m“:   15356.67,“last”:15356.67,“buy”:15356.67,“sell”:15398.41,“symbol”:“kr”},“NZD”:{“15m”:2522.84,“last”:2522.84,“buy”:   2522.84,“卖出”:2529.69,“符号”:“$”},“BRL”:{“15m”:5391.27,“最后”:5391.27,“买”:5391.27,“卖出”:5405.92,“符号”: “R $”},   “RUB”:{“15m”:98152.22,“last”:98152.22,“buy”:98152.22,“sell”   :98419.04,“symbol”:“RUB”}}

但我希望这样的输出为USD 1740.01 $ 任何人都可以帮助我

1 个答案:

答案 0 :(得分:2)

标记为duplicate但在我意识到Unity不支持Json中的第一个值后重新打开。当jince数据以 15m 之类的整数开始时,它的JsonUtility无法对json数据进行反序列化。它可以反序列化来自Json的其他数据,但您只想反序列化 15m 变量。

从Unity wiki下载 SimpleJSON

使用SimpleJSON,您就可以获得美元的 15米值:

var N = JSON.Parse(www.text);
string prize = N["USD"]["15m"].Value;
Debug.Log(prize);

请勿忘记使用using SimpleJSON;

导入 SimpleJSON