jQueryが利用可能な場合は、の代わりに$ .parseJSON()eval()
メソッドを使用することをお勧めします。
jQuery:
$(function(){
var userName = 'me';
var txt = '{"authenticationToken": 1, "authenticated": 2, "authenticationTokenExpiry": 3, "sessionTimeoutMinutes": 4, "userName": "' + userName + '"}';
var obj = $.parseJSON(txt);
});
注:整形式のJSON文字列の要件を満たすには、文字列を変更する必要がありました
デモ: http: //jsfiddle.net/WTC7k/
ただし、の値userName
が未定義であるというエラーが発生する理由は、eval()が正しく機能するように、文字列を引用符で囲む必要があるためです。
var userName = 'me';
var txt = "{authenticationToken: 1, authenticated: 2, authenticationTokenExpiry: 3,sessionTimeoutMinutes: 4,userName: '" + userName + "'}";
var obj = eval('(' + txt + ')');
デモ: http: //jsfiddle.net/9rtgK/