如何使用变量正确创建JSON?

时间:2018-08-02 01:56:11

标签: json ruby

我有几个变量,而不是字面量,我想包含在json字符串中。这不起作用:

a1 = get_email
a2 = get_user_name

json1 = '{"email": a1, "username": a2}'

因为未评估变量。

反之亦然,这会使json无效,因为json中不允许使用单引号:

a1 = get_email
a2 = get_user_name

json1 = "{'email': a1, 'username': a2}"

如何使用这些变量创建json?

2 个答案:

答案 0 :(得分:6)

最简单的方法是先使用哈希:

a1 = get_email
a2 = get_user_name

json1 = {'email'=> a1, 'username'=> a2}.to_json

答案 1 :(得分:2)

毕竟,使用to_json作为adrienbourgeois的答案是正确的方法,但是按照您的建议,您应该这样做:

json1 = "{\"email\": #{a1}, \"username\": #{a2}}"

假设a1.to_sa2.to_s给出了其中包含的任何对象的JSON格式(您在问题中没有明确指出)。