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

Oma*_*oto 0 ruby json

我想要包含在json字符串中的几个变量,而不是文字.这不起作用:

a1 = get_email
a2 = get_user_name

json1 = '{"email": a1, "username": a2}'
Run Code Online (Sandbox Code Playgroud)

因为不评估变量.

反过来这样做会使json无效,因为json中不允许使用单引号:

a1 = get_email
a2 = get_user_name

json1 = "{'email': a1, 'username': a2}"
Run Code Online (Sandbox Code Playgroud)

如何用这些变量创建一个json?

adr*_*ois 6

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

a1 = get_email
a2 = get_user_name

json1 = {'email'=> a1, 'username'=> a2}.to_json
Run Code Online (Sandbox Code Playgroud)