我有几个变量,而不是字面量,我想包含在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?
答案 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_s
和a2.to_s
给出了其中包含的任何对象的JSON格式(您在问题中没有明确指出)。