首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从json获取属性

从json获取属性
EN

Stack Overflow用户
提问于 2018-03-02 08:53:07
回答 2查看 42关注 0票数 0

我正在尝试从一个json对象获取一个特定的属性。这是我的代码。

代码语言:javascript
运行
复制
require 'json'

def print_f(json)
    json.map do |person|
        puts "\n#{person['name'] }, \n #{person['lastname']}"
    end.join
end

a = '{"JSON": {"name": "Fernando", "lastname": "Soto"}}'

obj = JSON.parse(a)['JSON']

text = ''
text += print_f(obj)
puts text

当我这样做的时候:

代码语言:javascript
运行
复制
puts obj.inspect

它返回:

代码语言:javascript
运行
复制
"`{"name"=>"Fernando", "lastname"=>"Soto"}"

但是当我尝试运行它时,它抛出了一个错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
        5: from t.rb:14:in `<main>'
        4: from t.rb:4:in `print_f'
        3: from t.rb:4:in `map'
        2: from t.rb:4:in `each'
        1: from t.rb:5:in `block in print_f'
t.rb:5:in `[]': no implicit conversion of String into Integer (TypeError)

希望你能帮助我。

EN

Stack Overflow用户

发布于 2018-03-02 10:56:43

好吧,这就是它的工作原理,以防其他人需要这个特定的例子,希望你能发现这个例子很有用。特别感谢tadman。

代码语言:javascript
运行
复制
require 'json'

def print_f(json)
    json
    json.map do |person|
        "\n#{person['name'] },\n #{person['lastname']}\n#{person['name2'] },\n #{person['lastname2']}"
    end.join
end

a = '{"key1": [{"name": "Fernando", "lastname": "Soto" ,"name2": "Luis", "lastname2": "Bautista"}]}'


obj = JSON.parse(a)['key1']

text = ''
text += print_f(obj)
print text

这就是结果。

代码语言:javascript
运行
复制
Fernando,
 Soto
Luis,
 Bautista
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49061125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档