我的AngularJS App中有以下常量块
// Constants
.constant('config', {
appName: 'MyApp',
appVersion: 1.0,
apiUrl: 'http://'+window.location.hostname+':8080'
});
应用程序的其余部分使用config.apiUrl来使用apiUrl Constant。我想要发生以下事情
// Constants
.constant('config', {
appName: 'MyApp',
appVersion: 1.0,
apiUrl:{"outer":"{'inner':{'key':'apValue'}}"}
});
我需要解析JSON并提供apiValue作为apiUrl。如何在此文件中使用JavaScript?
我希望客户端继续使用config.apiUrl,因此需要在此文件中完成所有解析
答案 0 :(得分:0)
您可以在apiUrl字符串上执行 JSON.parse 。在那之前, 确保apiUrl的值处于正确的字符串化JSON结构中,如下所示:
// Constants
.constant('config', {
appName: 'MyApp',
appVersion: 1.0,
apiUrl:JSON.parse('{"outer":{"inner":{"key":"apiValue"}}}').outer.inner.key
});
如果您将apiUrl作为对象,请执行
JSON.stringify({"outer":{"inner":{"key":"apiValue"}}})
并将其分配给 config.apiUrl
因此,当您想要阅读apiValue时,可以通过执行以下操作将其作为对象引用:
JSON.parse(config.apiUrl);
有关JSON方法的更多信息here
答案 1 :(得分:0)
以下是我要尝试的内容:
.constant('config', {
appName: 'MyApp',
appVersion: 1.0,
// apiUrl:{"outer":"{'inner':{'key':'apiValue'}}"}
apiUrl: JSON.parse({"outer":"{'inner':{'key':'apiValue'}}".replace("'", '"')}['outer'])['inner']['key']
});