热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:解码从firebase返回json

篇首语:本文由编程笔记#小编为大家整理,主要介绍了解码从firebase返回json相关的知识,希望对你有一定的参考价值。 我想从url->“https://fcm.googleapis.com/fc

篇首语:本文由编程笔记#小编为大家整理,主要介绍了解码从firebase返回json相关的知识,希望对你有一定的参考价值。



我想从url->“https://fcm.googleapis.com/fcm/send”解码这个json但不幸的是我没有成功,我真的不知道该怎么办请帮助我,在下面你看到我的代码:

function decodeJSON($ids)
{
$MyString = sendFCMToMultiple($ids);
echo "return:" . $MyString . php_EOL;
//$MyDecode = json_decode($MyString, false, 512, JSON_BIGINT_AS_STRING);
//$MyDecode = json_decode($MyString, true, 512, JSON_BIGINT_AS_STRING);
$MyDecode = json_decode($MyString);
$MultiCastID = $MyDecode->multicast_id;
$Success = $MyDecode->success;
$Failure = $MyDecode->failure;
$CanOnicalIDS= $MyDecode->canonical_ids;
$Results = $MyDecode->results;
//echo 'Var MultiCastID=' . var_dump($MultiCastID) . PHP_EOL;
echo 'MultiCastID to Str=' . number_format($MultiCastID, 0, '.', '') . PHP_EOL;
echo 'MultiCastID=' . $MultiCastID . PHP_EOL;
echo 'Success=' . $Success . PHP_EOL;
echo 'Failure=' . $Failure . PHP_EOL;
echo 'CanOnicalIDS=' . $CanonicalIDS . PHP_EOL;
echo 'Results=' . $Results . PHP_EOL;
echo '=================================================================' . PHP_EOL;
}

这是来自fcm url的原始和主要json:

{
"multicast_id": 7640049088650537742,
"success": 2,
"failure": 2,
"canonical_ids": 0,
"results": [
{
"error": "NotRegistered"
},
{
"error": "NotRegistered"
},
{
"message_id": "0:1513401047065944%93a06d80f9fd7ecd"
},
{
"message_id": "0:1513401047066546%93a06d80f9fd7ecd"
}
]
}

这是返回并从我的代码中显示:

{"multicast_id":7640049088650537742,"success":2,"failure":2,"canonical_ids":0,"results":[{"error":"NotRegistered"},{"error":"NotRegistered"},{"message_id":"0:1513401047065944%93a06d80f9fd7ecd"},{"message_id":"0:1513401047066546%93a06d80f9fd7ecd"}]}
MultiCastID to Str=7640049088650537984
MultiCastID=7.6400490886505E+18
Success=2
Failure=2
CanOnicalIDS=0
Results=
=================================================================

但我的问题是:

第一:我不能将json字符串用于json_decode($ MyString,false,512,JSON_BIGINT_AS_STRING)并返回所有键的空值;这就是为什么我说我想要为multicast_id键的字符串值或整数类型,但json_decode本身自动大整数浮点数我不喜欢它我想要整数和或字符串值,虽然我使用第5和第6行,因为评论在代码中,但不是真的。第二:对我来说这是非常重要的结果键阵,因为我明白谁没有收到,谁收到了,为什么?谢谢。


答案

只有你的第二点的部分答案,访问json中的结果(在php 5.6中测试):

foreach ($MyDecode->results as $result) {
if (isset($result->error)) {
echo 'Found error: ' . $result->error . PHP_EOL;
} elseif (isset($result->message_id)) {
echo 'Found message id: ' . $result->message_id . PHP_EOL;
}
}

输出:

Found error: NotRegistered
Found error: NotRegistered
Found message id: 0:1513401047065944%93a06d80f9fd7ecd
Found message id: 0:1513401047066546%93a06d80f9fd7ecd


推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • 本文总结和分析了JDK核心源码(2)中lang包下的基础知识,包括常用的对象类型包和异常类型包。在对象类型包中,介绍了Object类、String类、StringBuilder类、StringBuffer类和基本元素的包装类。在异常类型包中,介绍了Throwable类、Error类型和Exception类型。这些基础知识对于理解和使用JDK核心源码具有重要意义。 ... [详细]
author-avatar
鄢都浪子_562
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有