小小小猪哥 2019-04-11 16:08 采纳率: 0%
浏览 323
已采纳

php如何解析获取这种格式的json

{
    "usdt_cnyx": {
        "result": "true",
        "last": "6.912",
        "lowestAsk": "6.914",
        "highestBid": "6.912",
        "percentChange": "0.06",
        "baseVolume": "8082626.46086641",
        "quoteVolume": "1173640.89036410",
        "high24hr": "6.922",
        "low24hr": "6.874"
    },
    "btc_cnyx": {
        "result": "true",
        "last": "35718.67",
        "lowestAsk": "35732.01",
        "highestBid": "35669.06",
        "percentChange": "-0.81",
        "baseVolume": "330772.44399501",
        "quoteVolume": "9.20822579",
        "high24hr": "36975.3",
        "low24hr": "35353.09"
    },
    "eth_cnyx": {
        "result": "true",
        "last": "1177.24",
        "lowestAsk": "1174.33",
        "highestBid": "1172.98",
        "percentChange": "-5.02",
        "baseVolume": "566590.74282103",
        "quoteVolume": "478.24187550",
        "high24hr": "1249.77",
        "low24hr": "1152"
    }
}

我的代码:

$i=0;//循环变量
$num=count($obj);//得到Json数组长度

for ($i;$i<=$num;$i++)
{

    $symbol = $obj[$i];//这里要获取 usdt_cnyx这样的数据
    $last = $obj[$i]["last"];
    $high = $obj[$i]["high24hr"];
    $low = $obj[$i]["low24hr"];
    $bid = $obj[$i]["highestBid"];
    $ask = $obj[$i]["lowestAsk"];
    $percentchange = $obj[$i]["percentChange"];
    $vol = $obj[$i]["baseVolume"];
}

无法获取数据,请大神指教。

  • 写回答

1条回答 默认 最新

  • yue1123 2019-04-11 16:48
    关注
    <?php
    $txt = '
    {
        "usdt_cnyx": {
            "result": "true",
            "last": "6.912",
            "lowestAsk": "6.914",
            "highestBid": "6.912",
            "percentChange": "0.06",
            "baseVolume": "8082626.46086641",
            "quoteVolume": "1173640.89036410",
            "high24hr": "6.922",
            "low24hr": "6.874"
        },
        "btc_cnyx": {
            "result": "true",
            "last": "35718.67",
            "lowestAsk": "35732.01",
            "highestBid": "35669.06",
            "percentChange": "-0.81",
            "baseVolume": "330772.44399501",
            "quoteVolume": "9.20822579",
            "high24hr": "36975.3",
            "low24hr": "35353.09"
        },
        "eth_cnyx": {
            "result": "true",
            "last": "1177.24",
            "lowestAsk": "1174.33",
            "highestBid": "1172.98",
            "percentChange": "-5.02",
            "baseVolume": "566590.74282103",
            "quoteVolume": "478.24187550",
            "high24hr": "1249.77",
            "low24hr": "1152"
        }
    }';
    $json = json_decode($txt, true);
    foreach($json as $key=>$value){
        $last = $value["last"];
        $high = $value["high24hr"];
        $low = $value["low24hr"];
        $bid = $value["highestBid"];
        $ask = $value["lowestAsk"];
        $percentchange = $value["percentChange"];
        $vol = $value["baseVolume"];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据