如何根据给定的数据返回json密钥id

时间:2015-01-17 18:53:48

标签: json perl

以下是我正在使用的JSON结构示例:

{
    "keys": {
      "1": "Name1",
      "2": "Name2",
      "3": "Name3",
      }
}

这里的结构是" id_number" :" name"

鉴于某人的姓名,我该如何归还他们的身份证号码? 如果可能的话,我想保留当前的结构,因为我从API中提取它,这就是所呈现的结构。

同样,如果结构如下:

{
        "id_number": {
          "Fname": "Name1",
          "Lname": "Name2",
          "phone": "number",
          }
    }

我怎样才能回归" id_number"如果给出" Name1"," Name2"或"号码"。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定你的任务到底是什么,但是如果你想在名字中找到一个id,那么这是一个代码示例:

use JSON::Parse 'parse_json';

my $json_str = '...';
my $json = parse_json($json_str);
# Get part of JSON with ids and names
my $keys_hash = $json->{'keys'};
# Iterate keys in JSON sub-part
for my $id (keys %{$keys_hash}) {
  # Get name for a specified key
  my $name = $keys_hash->{$id};
  # If found desired name, return id
  if ($name eq $name_to_find) {
    return $id;
  }
}