首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Ruby 2.2.10中解析Square响应嵌套键值

如何在Ruby 2.2.10中解析Square响应嵌套键值
EN

Stack Overflow用户
提问于 2019-03-26 19:35:58
回答 1查看 60关注 0票数 0

如何从这个散列中获得last_4键的值?

我有一个来自Square事务的响应nonce。我通过Ajax将响应传递给Ruby,在那里它以参数字符串的形式出现。Iv'e尝试将字符串转换为散列。我也尝试过JSON.parse。

这是来自Square沙箱事务的实际响应nonce。我已经截断了一些ID,并替换了其他ID。此外,我还添加了回车符,以使其更具可读性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{:transaction=>{
    :id=>"smqfzS00qbp1lOy...", 
    :location_id=>"CBASE...", 
    :created_at=>"2019-02-19T19:45:18Z", 
    :tenders=>[{
        :id=>"34670bfa-9d09-406a-910c-9c3e8ab82321", 
        :location_id=>"CBASE...", 
        :transaction_id=>"smqfzS00qbp1lOy...", 
        :created_at=>"2019-02-19T19:45:18Z", 
        :note=>"Online Transaction", 
        :amount_money=>{
            :amount=>65000, 
            :currency=>"USD"
            }, 
        :type=>"CARD", 
        :card_details=>{
                :status=>"CAPTURED", 
                :card=>{
                    :card_brand=>"VISA", 
                    :last_4=>"9999", 
                    :fingerprint=>"22737c9b012a..."
                    }, 
        :entry_method=>"KEYED"
        }
    }], 
    :product=>"EXTERNAL_API"
    }
}

我将其作为ajax调用中的字符串,并将其转换为散列或进行解析:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqresp = Hash.new(square_resp) # this works
sqresp = JSON.parse(square_resp) # this fails

我试着只取出id,这是第一个嵌套的键:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqresp[:transaction] # this works but I get the whole string

但如果我再深入一步,它就失败了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqresp[:transaction][:id] # this fails
sqresp[:transaction[:id]] # kinda makes sense but fails
sqresp[:transaction][:tenders][:amount_money][:card_details][:card][:last_4] # of course this fails too,it's just a deeper scrape.

如果有一个Ruby方法来分解所有的Square键/值,那就太好了,但是通过一个如何提取last_4的例子,我可以做剩下的事情。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-03-26 20:33:36

凯里,成功了!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqresp = instance_eval(square_resp)
sqresp[:transaction][:tenders].first[:card_details][:card][:last_4]

谢谢!没有为你的评论投票的选项。

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

https://stackoverflow.com/questions/55365027

复制
相关文章
Leetcode 题目解析之 Maximal Square
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area.
ruochen
2022/02/15
1.4K0
[QT]响应键盘事件(附虚拟键值转换函数)
原文链接:https://blog.csdn.net/humanking7/article/details/80700233
祥知道
2020/03/10
3.3K0
如何在 Ubuntu 20.04 上安装 Ruby
本文最先发布在: https://www.itcoder.tech/posts/how-to-install-ruby-on-ubuntu-20-04/
雪梦科技
2020/05/26
5K1
如何在 Ubuntu 20.04 上安装 Ruby
如何在 CentOS 8 上安装 Ruby
Ruby 是当今最流行的语言之一。它有简洁的语法,并且是 Ruby on Rails 框架后面的语言。
雪梦科技
2020/05/09
1.8K0
如何在 CentOS 8 上安装 Ruby
Logstash解析嵌套Json
由于我们的埋点日志是嵌套json类型,要想最终所有字段展开来统计分析就必须把嵌套json展开。
神秘的寇先森
2019/01/28
3.7K0
如何在Ubuntu上安装Ruby和Sinatra
如果选择几个词来定义Sinatra,那么肯定会是设计简洁,给人启发。这种项目构建的想法引领了很多项目的构建潮流——跨越不同的编程语言和平台的编程方案。
物花无语
2018/08/06
1.7K0
如何在CVM上安装Ruby开发环境
Ruby是一种动态编程语言,可用于编写简单脚本、游戏和Web应用程序。它于1993年首次在日本发布,在2005年作为服务器端Web开发的语言获得了普及。Ruby旨在为初学者提供易用和有趣的功能。对于初学者,甚至经验丰富的开发人员来说,这是一个很好的选择。
姚啊姚
2018/07/16
1.3K0
Fastjson解析嵌套Map例子
由于在实际工作中使用fastjson解析嵌套map的场景非常多,所以在此备忘一下: 引入阿里的fastjson的pom: Java代码 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> 一个比较复杂的json例子:
我是攻城师
2018/05/14
1.9K0
[918]python使用yaml模块
python通过open方式读取文件数据,再通过load函数将数据转化为列表或字典;
周小董
2020/12/29
2.7K0
如何在Ubuntu 18.04上使用RVM安装Ruby on Rails
Ruby on Rails是一个流行的Web应用程序框架,旨在帮助您开发成功的项目,同时编写更少的代码。为了使Web开发变得有趣并且受到强大社区的支持,Ruby on Rails是一个可以免费使用的开源软件,并且欢迎各位用户提出建议以使其更好。
独钓寒江雪_Ly
2018/10/10
8.9K0
【静默】Oracle各类响应文件何在?
1、创建数据库的响应文件:$ORACLE_HOME/assistants/dbca/dbca.rsp
AiDBA宝典
2019/09/29
9050
【静默】Oracle各类响应文件何在?
如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序堆栈之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
司徒永哥
2018/10/10
6.4K0
如何在Debian 8上使用RVM安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序框架之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
好烟
2018/07/26
5.1K0
Octopress中嵌入ruby代码如何不被解析
用Octopress写博客即将快一年了,感觉自己用的还可以,并且借此熟练使用了Markdown,但是前几天写一篇关于如何在Octopress中集成多说评论的文章的时候,遇到了一个代码高亮的问题,就是如何处理代码块的问题。
技术小黑屋
2018/09/04
4560
响应式编程解析 顶
响应式编程最重要的是解决生产者和消费者之间的关系。如果生产者产生的数据过大,而消费者消费不过来,就会压垮消费者。所以就需要有一个重要的概念——流控。
算法之名
2019/12/25
5400
SQL函数 SQUARE
SQUARE 返回 NUMERIC 或 DOUBLE 数据类型。如果 numeric-expression 是数据类型 DOUBLE,则 SQUARE 返回 DOUBLE;否则,它返回 NUMERIC。
用户7741497
2022/08/01
3590
Valid Perfect Square
1. Description 2. Solution class Solution { public: bool isPerfectSquare(int num) { int
Tyan
2019/05/25
3560
Sum of Square Numbers
1. Description 2. Solution class Solution { public: bool judgeSquareSum(int c) { int roo
Tyan
2019/05/25
2880
如何在macOS上安装Ruby并设置本地编程环境
Ruby是一种动态编程语言,可用于编写从简单脚本到游戏和Web应用程序的任何内容。它于1993年首次在日本发布,但在2005年作为服务器端Web开发的语言获得了普及。Ruby旨在为初学者提供易用和有趣的功能,但功能强大,足以创建复杂的系统。对于初学者和经验丰富的开发人员来说,这是一个很好的选择。
葡萄
2018/10/11
3.4K1
LeetCode 473 Matchsticks to Square
题目描述 Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little m
Yano_nankai
2018/10/08
3440

相似问题

Square的Retrofit响应解析逻辑:流?

13

使用Ruby将嵌套的YAML解析为键值对

03

Ruby解析解析响应

24

Python :嵌套键值数据解析

37

android json响应键值,解析

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文