Php Json解析-如何获取仅在括号中的数据

Php Json解析-如何获取仅在括号中的数据,php,json,Php,Json,这是我的密码: { "604377": { "competitors": { "3521278": { "Name": "Brazil", "Jockey": null, "Weight": null, "Saddle": 0, "Barrier": null, "QLDWin": 0, "VICWin": 0, "NSWWin": 0,

这是我的密码:

{
  "604377": {
    "competitors": {
      "3521278": {
        "Name": "Brazil",
        "Jockey": null,
        "Weight": null,
        "Saddle": 0,
        "Barrier": null,
        "QLDWin": 0,
        "VICWin": 0,
        "NSWWin": 0,
        "QLDPlace": 0,
        "VICPlace": 0,
        "NSWPlace": 0,
        "DetailedPricing": {
是否有人知道如何得到括号中的实际数字:“604377”。我可以抓取指定的其他字段,但正在为此而挣扎。我正在使用php

print_r(array_keys(json_decode($json, true)));  
输出:

[0] => 604377

这实际上可能被认为是一种格式不良的数据结构,因为您有大量感兴趣的值存储为键。由于这些值可能是可变的,因此必须使用检查键来检查所需的值

假设您正在使用PHP:

$object = json_decode($your_json_string);
$array_of_obj_properties = get_object_vars($object);
foreach($array_of_obj_properties as $prop) {
    // figure out what to do with $prop
}
或者如果您需要了解竞争对手的编号

$object = json_decode($your_json_string);
$outer_object_properties = get_object_vars($object);
foreach($outer_object_properties as $prop) {
    $competitors_props = get_object_vars($outer_object_properties->{$prop}->competitors);
    foreach($competitors_props as $comp_prop) {
        // do something with $comp_prop
    }   
}

正如你所看到的,这是一个笨拙的结构。如果你控制的是JSON编码的数据结构,你可以考虑把它变成一个给你一个已知的密钥来访问这些值。

< P>如果你只想得到第一个密钥,你可以迭代通过<代码> jSON-DECODE < /COD>:

的结果。
$firstKey = null;

$json = json_decode($jsonString);
foreach ($json as $key => $value) {
    $firstKey = $key;
    break; //make sure we don't bother to iterate through the rest of the object
}

var_dump($firstKey); //This will be your relevant key

不确定这是否是您要查找的内容,但您可以使用sa
foreach
循环来获取键和值,您可以在中对…进行迭代。