Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >将其存储为一个对象

将其存储为一个对象
EN

Stack Overflow用户
提问于 2013-12-03 07:56:38
回答 2查看 660关注 0票数 0

解决方案:每个以:private结尾的键都有一个__get()toJSON()方法,因为_propMap是私有的,因此需要从它们那里获取数据。

我正在使用PayPal的PHP从PayPal中获取付款,并且在完成支付后获得的数据返回如下

代码语言:javascript
代码运行次数:0
复制
Array
(
[PayPal\Common\PPModel_propMap] => Array
    (
        [id] => PAY-THEID
        [create_time] => 2013-12-03T15:47:15Z
        [update_time] => 2013-12-03T15:47:34Z
        [state] => approved
        [intent] => sale
        [payer] => PayPal\Api\Payer Object
            (
                [_propMap:PayPal\Common\PPModel:private] => Array
                    (
                        [payment_method] => paypal
                        [payer_info] => PayPal\Api\PayerInfo Object
                            (
                                [_propMap:PayPal\Common\PPModel:private] => Array
                                    (
                                        [email] => my@email.com
                                        [first_name] => Tom
                                        [last_name] => Hart
                                        [payer_id] => thePayerId
                                        [shipping_address] => PayPal\Api\Address Object
                                            (
                                                [_propMap:PayPal\Common\PPModel:private] => Array
                                                    (
                                                        [line1] => 1 Main Terrace
                                                        [city] => Wolverhampton
                                                        [state] => West Midlands
                                                        [postal_code] => W12 4LQ
                                                        [country_code] => GB
                                                    )

                                            )

                                    )

                            )

                    )

            )

        [transactions] => Array
            (
                [0] => PayPal\Api\Transaction Object
                    (
                        [_propMap:PayPal\Common\PPModel:private] => Array
                            (
                                [amount] => PayPal\Api\Amount Object
                                    (
                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                            (
                                                [total] => 0.33
                                                [currency] => GBP
                                                [details] => PayPal\Api\Details Object
                                                    (
                                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                                            (
                                                                [subtotal] => 0.11
                                                                [tax] => 0.11
                                                                [shipping] => 0.11
                                                            )

                                                    )

                                            )

                                    )

                                [description] => Payment description
                                [item_list] => PayPal\Api\ItemList Object
                                    (
                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                            (
                                                [items] => Array
                                                    (
                                                        [0] => PayPal\Api\Item Object
                                                            (
                                                                [_propMap:PayPal\Common\PPModel:private] => Array
                                                                    (
                                                                        [name] => Flowers
                                                                        [price] => 0.11
                                                                        [currency] => GBP
                                                                        [quantity] => 1
                                                                    )

                                                            )

                                                    )

                                            )

                                    )

                                [related_resources] => Array
                                    (
                                        [0] => PayPal\Api\RelatedResources Object
                                            (
                                                [_propMap:PayPal\Common\PPModel:private] => Array
                                                    (
                                                        [sale] => PayPal\Api\Sale Object
                                                            (
                                                                [_propMap:PayPal\Common\PPModel:private] => Array
                                                                    (
                                                                        [id] => 9L998852HN614082X
                                                                        [create_time] => 2013-12-03T15:47:15Z
                                                                        [update_time] => 2013-12-03T15:47:34Z
                                                                        [state] => completed
                                                                        [amount] => PayPal\Api\Amount Object
                                                                            (
                                                                                [_propMap:PayPal\Common\PPModel:private] => Array
                                                                                    (
                                                                                        [total] => 0.33
                                                                                        [currency] => GBP
                                                                                    )

                                                                            )

                                                                        [parent_payment] => PAY-4S184757A49956741KKO72AY
                                                                        [links] => Array
                                                                            (
                                                                                [0] => PayPal\Api\Links Object
                                                                                    (
                                                                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                                                                            (
                                                                                                [href] => https://api.sandbox.paypal.com/v1/payments/sale/9L998852HN614082X
                                                                                                [rel] => self
                                                                                                [method] => GET
                                                                                            )

                                                                                    )

                                                                                [1] => PayPal\Api\Links Object
                                                                                    (
                                                                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                                                                            (
                                                                                                [href] => https://api.sandbox.paypal.com/v1/payments/sale/abc/refund
                                                                                                [rel] => refund
                                                                                                [method] => POST
                                                                                            )

                                                                                    )

                                                                                [2] => PayPal\Api\Links Object
                                                                                    (
                                                                                        [_propMap:PayPal\Common\PPModel:private] => Array
                                                                                            (
                                                                                                [href] => https://api.sandbox.paypal.com/v1/payments/payment/PAY-abc
                                                                                                [rel] => parent_payment
                                                                                                [method] => GET
                                                                                            )

                                                                                    )

                                                                            )

                                                                    )

                                                            )

                                                    )

                                            )

                                    )

                            )

                    )

            )

        [links] => Array
            (
                [0] => PayPal\Api\Links Object
                    (
                        [_propMap:PayPal\Common\PPModel:private] => Array
                            (
                                [href] => https://api.sandbox.paypal.com/v1/payments/payment/abc
                                [rel] => self
                                [method] => GET
                            )

                    )

            )

    )

)

我希望将其中的一部分(shipping_address是其中之一)转换为json对象(使用json_encode/decode(),并将其存储在我的数据库中,以便在管理部分查看地址,以便知道在哪里发送东西,但是,我不能将其转换为json对象,它只是返回{}。如何将这些详细信息存储在数据库中以便稍后查看?

编辑:

Json_encode代码

代码语言:javascript
代码运行次数:0
复制
$db['address'] = json_encode((array) $dets->payer->payer_info->shipping_address);
var_dump(json_last_error());
$db['payerId'] = $dets->payer->payer_info->payer_id;
$db['prices'] = json_encode((array) $dets->transations[0]->amount);
var_dump(json_last_error());
$db['description']  = $dets->transations[0]->description;
$db['items'] = json_encode((array) $dets->transations[0]->item_list->items);
var_dump(json_last_error());
$db['links'] = json_encode((array) $dets->related_resources[0]->sale->links);
var_dump(json_last_error());

$db数组的输出是

代码语言:javascript
代码运行次数:0
复制
Array
(
[userId] => 10
[paymentId] => PAY-4VC71851RJ180032AKKPAB3Y
[state] => approved
[address] => {"\u0000PayPal\\Common\\PPModel\u0000_propMap":{"line1":"1 Main Terrace","city":"Wolverhampton","state":"West Midlands","postal_code":"W12 4LQ","country_code":"GB"}}
[payerId] => P77LD9M7MUQN2
[prices] => []
[description] => 
[items] => []
[links] => []
)

所以有些正在被编码,有些没有。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-12 16:00:32

这也困扰了我一段时间,我努力寻找一个直截了当的答案。我正在使用当前的PHP,并在示例ExecutePayment.php文件中看到如下所示:

代码语言:javascript
代码运行次数:0
复制
// Execute the payment
// (See bootstrap.php for more on `ApiContext`)
$result = $payment->execute($execution, $apiContext);

echo "<html><body><pre>";
var_dump($result);
echo "</pre><a href='../index.html'>Back</a></body></html>";

如前所述,$result对象对导航没有多大帮助。您不能直接对对象进行编码,因为PayPal正在SDK中自己做一些疯狂的事情。如前所述,解决方案是使用来自PPModal类的PPModal()方法直接将该对象转换为JSON:

代码语言:javascript
代码运行次数:0
复制
$result = $payment->execute($execution, $apiContext);

$array = $result->toJSON();

echo '<pre>';
print_r($array);
echo '</pre>';

我希望有人能更清楚地知道这一点。

票数 6
EN

Stack Overflow用户

发布于 2013-12-03 08:15:28

我认为,有些值“未编码”的问题是,您的一些变量引用是错误的。

例如,您试图对以下内容进行编码:

代码语言:javascript
代码运行次数:0
复制
$dets->transations[0]->amount

但是,我认为你需要从以下几个方面获得这个价值:

代码语言:javascript
代码运行次数:0
复制
$dets->transactions[0]['_propMap:PayPal\Common\PPModel:private']['amount']

对于大多数变量引用,您也有类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20355757

复制
相关文章
lucene如何返回所有数据
我们在实际使用lucene的过程中,筛选多个条件时BooleanQuery这个类来实现,比如下面代码:
johnhuster的分享
2022/03/29
7110
如何利用CDO从数据集中提取数据
之前说了如何利用CDO查看数据集信息 使用CDO查看气象数据信息。这一次说一下利用CDO从数据集中提取数据。这部分是非常使用的,尤其是当涉及到大数据集的时候,其优势就变得非常明显了。
bugsuse
2020/04/21
8.8K0
如何利用CDO从数据集中提取数据
数据库的方向 - 行vs列
前言: 转载的好文不多,但此篇的确是难得一见的好文,如若不信,请仔细阅读。 此篇文章没有波涛汹涌的起伏,没有繁多的代码,只有悠然自得的文笔。 因此,分享此文给大家。 翻译原文链接:https://ww
谙忆
2021/01/21
1.1K0
数据库的方向 - 行vs列
从Bert预训练数据集中获取词向量
在一些操作过程中,经常要获取词向量,BERT做为一个在各项评测指标中都比较出色的,且提供了许多预训练模型的,从其中获取词向量是一些任务中必备的操作。
sparkexpert
2019/08/23
4.5K0
从Bert预训练数据集中获取词向量
Pandas DataFrame显示行和列的数据不全
pd.set_option('display.max_columns', None)
用户7886150
2020/12/26
6.7K0
FPGA计算3行同列数据之和
本文介绍了如何利用FPGA实现Sobel边缘检测算法,通过仿真实验证明该方法可以大幅提高边缘检测的实时性,从而在嵌入式系统中得到广泛应用。
NingHeChuan
2018/01/05
1.4K0
FPGA计算3行同列数据之和
从xlnet预训练数据集中获取词向量
利用pytorch-transformers中的方法进行预训练模型加载,然后进行词向量的获取和提取。
sparkexpert
2019/08/23
1.5K0
从xlnet预训练数据集中获取词向量
数据库行存储及列存储详解
本文参见:https://blog.csdn.net/Xingxinxinxin/article/details/80939277
全栈程序员站长
2022/09/06
2.7K0
数据库行存储及列存储详解
SAS数据集中一行与多行的比较
前几天看到一个群友提的一个问题:求上图中X小于等于所有Y值的个数。比如,第一个Y为0,则5个X中小于等于0的个数为0。实现这一目的的方法有多种,最易懂的方法应该是转置加数组,下面介绍其他两种方法:
专业余码农
2020/07/16
1.4K0
SAS数据集中一行与多行的比较
pandas数据清洗-删除没有序号的所有行的数据
pandas数据清洗-删除没有序号的所有行的数据 问题:我的数据如下,要求:我想要的是:有序号的行留下,没有序号的行都不要 图片 【代码及解析】 import pandas as pd filepath="E:/yhd_python/pandas.read_excel/student.xlsx" df=pd.read_excel(filepath,sheet_name='Sheet1',skiprows=1) df.tail() 先导入pands包,用read_excel读取文件,工作
哆哆Excel
2022/10/31
1.6K0
聊一聊数据库的行存与列存
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/26
1.7K0
聊一聊数据库的行存与列存
列存储、行存储
Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-ary storage model),其主要区别在于:
全栈程序员站长
2022/09/14
7.9K0
列存储、行存储
ECharts数据集( dataset )的行或列映射为系列(series)
用户可以使用 seriesLayoutBy 配置项,改变图表对于行列的理解。seriesLayoutBy 可取值:
别团等shy哥发育
2023/02/25
1.1K0
ECharts数据集( dataset )的行或列映射为系列(series)
springmvc接收数据返回数据
1,当前端传递的参数名和方法形参名不一致时,通过@RequestParam指定转换关系
微醺
2019/01/17
1.5K0
Bootstrap行和列
在Bootstrap中,行(Row)和列(Column)是构建响应式网格布局的核心组件。它们允许我们创建灵活的网格系统,以便在不同的屏幕尺寸下进行布局。
堕落飞鸟
2023/05/17
2.1K0
从分散到集中,云南移动数据中心网络走上新征途
对于一家运营商来说,没什么比系统的高效稳定运行更重要了。对于云南移动信息技术部总经理于桃来说,自然同样如此。
IT创事记
2022/08/30
6540
从分散到集中,云南移动数据中心网络走上新征途
替换 VOC 数据集中图片路径
在一次做项目的时候,团队分配任务做数据集,用 labelimage 来打标,汇总数据时发现 xml 中的图片路径各不相同,于是就写了这个工具来修改 xml 中的图片路径。
HauHau
2022/01/12
1.6K0
用过Excel,就会获取pandas数据框架中的值、行和列
至此,我们已经学习了使用Python pandas来输入/输出(即读取和保存文件)数据,现在,我们转向更深入的部分。
fanjy
2021/11/29
19.2K0
用过Excel,就会获取pandas数据框架中的值、行和列
url从输入到页面返回数据经历了什么?
1>DNS解析可以理解为主寻找这个IP地址的过程,其中如果找到IP地址会进行本地缓存,以便下次继续使用
测试小兵
2019/07/22
8810
url从输入到页面返回数据经历了什么?
简单介绍数据采集中的数据埋点
每个人都会走路跑步,但是并不是人人都能成为专业的运动员那么出色。产品经理就是一种这样的职业,我们都可以站在产品的角度思考问题,但我们并不是都能够成为一名出色的产品经理。
木东居士
2019/02/28
2.6K0

相似问题

数据集中特定列的所有行

23

数据集中所有行的1列之和

33

从稀疏数据集中删除列和行

116

Excel,如何从数据集中返回特定行。

11

从数据集中复制符合条件的所有行

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档