1

有没有办法在 JSON 中使用类似于 Java 属性文件的占位符?

我想用下面显示的 JSON 字符串替换以下属性值。如果可以使用占位符,我将如何使用 JS 或 JQuery 动态替换占位符?如果可以在不使用 Regex 匹配和替换的情况下完成此操作,那就太好了。

WelcomeMessage=Welcome {0}
GoodBye=Goodbye,{0}. Thank you for visiting {1}

JSON字符串

   { "messages" : {
                  "WelcomeMessage":"Welcome {name}",
                  "GoodBye":"Goodbye,{name}. Thank you for visiting {siteName}"
                 }
    }

谢谢你。

4

1 回答 1

1

这应该可以解决您的问题:

// Your messages
var message = {
    'welcome': 'Welcome {name}'
} ;

// Your variables
var vars= {
    'name': 'user'
};


var placeholders = function ( message, variables ) {
    for ( var v in variables ) {
        message = message.replace( '{'+v+'}' , variables[v] );
    }

    return message;
} ;

alert ( placeholders(message['welcome'], vars) );
// Alert: Welcome user
于 2013-03-01T17:39:57.757 回答