php如何得到josn有几组数组_PHP JSON解码到数组以获取特定的键值(所有字段名称相同)...

我正在从API URL中提取JSON数据.问题:在FL下有重复的键:“ val”和“ content”.我只需要拉特定的键.

如果我的格式不符合SO标准,请原谅.*

我的问题发布在json和代码下面.

JSON FROM URL

{

"response": {

"result": {

"Leads": {

"row": [

{

"no": "1",

"FL": [

{

"val": "LEADID",

"content": "123"

},

{

"val": "SMOWNERID",

"content": "3232"

},

{

"val": "Lead Owner",

"content": "Cassie"

},

{

"val": "First Name",

"content": "Bobby"

},

{

"val": "Last Name",

"content": "Something"

},

{

"val": "Email",

"content": "email@gmail.com"

},

{

"val": "Mobile",

"content": "1111111111"

},

{

"val": "SMCREATORID",

"content": "0000003213"

},

{

"val": "Created By",

"content": "Cassie"

},

{

"val": "Created Time",

"content": "2019-04-03 15:14:05"

},

{

"val": "Modified Time",

"content": "2019-04-03 17:13:58"

},

{

"val": "Full Name",

"content": "Bobby Something"

},

{

"val": "Street",

"content": "123 Fake Rd"

},

{

"val": "City",

"content": "Fakecity"

},

{

"val": "State",

"content": "FK"

},

{

"val": "Zip Code",

"content": "11111"

},

{

"val": "Email Opt Out",

"content": "false"

},

{

"val": "Salutation",

"content": "Mr."

},

{

"val": "Last Activity Time",

"content": "2019-04-03 17:13:58"

},

{

"val": "Tag",

"content": "Tag"

},

{

"val": "Account Name",

"content": "Something"

},

{

"val": "Territory Manager",

"content": "Michael Something"

},

{

"val": "Territory Manager_ID",

"content": "321237000000291111"

},

{

"val": "Classification",

"content": "Something"

},

{

"val": "Area",

"content": "Zone 1"

},

{

"val": "Account Number",

"content": "32345"

}

]

}

]

}

},

"uri": "/crm/private/json/Leads/getRecords"

}

}

PHP代码

$url = 'URL';

$data = file_get_contents($url);

$parsed = json_decode($data, true);

$eachEntry = $parsed['response']['result']['Leads']['row'];

foreach ($eachEntry as $entry) {

$FL = $entry['no'];

//printf('%s'.PHP_EOL, $FL);

printf("\n");

$entries = $entry['FL'];

foreach ($entries as $value) {

$val = $value['val'];

$content = $value['content'];

$out = $val." ".$content;

printf('%s'.PHP_EOL, $out);

printf("\n");

}

}

结果

LEADID 123

SMOWNERID 3232

Lead Owner Cassie

First Name Bobby

Last Name Something

Email email@gmail.com

Mobile 1111111111

SMCREATORID 0000003213

Created By Cassie

Created Time 2019-04-03 15:14:05

Modified Time 2019-04-03 17:13:58

Full Name Bobby Something

Street 123 Fake Rd

City Fakecity

State FK

Zip Code 11111

Email Opt Out false

Salutation Mr.

Last Activity Time 2019-04-03 17:13:58

Tag Tag

Account Name Something

Territory Manager Michael Something

Territory Manager_ID 321237000000291111

Classification Something

Area Zone 1

Account Number 32345

如何仅提取示例中下面列出的字段?并且不要拉每个领域.

"val": "First Name",

"content": "Bobby"

,

"val": "Last Name",

"content": "Something"

,

"val": "Street",

"content": "123 Fake Rd"

,

"val": "City",

"content": "Fakecity"

,

"val": "State",

"content": "FK"

,

"val": "Zip Code",

"content": "11111"

预期的输出

First Name Bobby

Last Name Bobby

Street 123 Fake Rd

City Fakecity

State FK

Zip Code 11111

将URL中的JSON设置为HTML表

解决方法:

只需编写代码即可完成您所描述的事情.如果它们不在您想要的字段列表中,则只需不打印它们.

$valuesIWant = ["First Name", "Last Name", "Street", "City", "State", "Zip Code"];

foreach ($eachEntry as $entry) {

$FL = $entry['no'];

//printf('%s'.PHP_EOL, $FL);

printf("\n");

$entries = $entry['FL'];

foreach ($entries as $value) {

$val = $value['val'];

$content = $value['content'];

if (in_array($val, $valuesIWant)) {

$out = $val." ".$content;

printf('%s'.PHP_EOL, $out);

printf("\n");

}

}

}

标签:php,arrays,json,zoho

来源: https://codeday.me/bug/20191009/1880496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值