【发布时间】:2015-11-15 19:19:24
【问题描述】:
我正在尝试将 JSON 对象中的任何项目转换为字符串。 JSON.stringify 不起作用,因为它不会转换单个值。如果它是一个对象或数字,我希望整个对象是一个字符串。如何测试 typeof 是否不是字符串。我不明白为什么这不起作用...
if (typeof(value) !== 'string') {
return String(value);
}
有什么见解吗?完整示例如下:
var myjson = {
"current_state":"OPEN",
"details":"Apdex < .80 for at least 10 min",
"severity":"WARN",
"incident_api_url":"https://alerts.newrelic.com/api/explore/applications/incidents/1234",
"incident_url":"https://alerts.newrelic.com/accounts/99999999999/incidents/1234",
"owner":"user name",
"policy_url":"https://alerts.newrelic.com/accounts/99999999999/policies/456",
"runbook_url":"https://localhost/runbook",
"policy_name":"APM Apdex policy",
"condition_id":987654,
"condition_name":"My APM Apdex condition name",
"event_type":"INCIDENT",
"incident_id":1234
};
function replacer(key, value) {
if (typeof(value) !== 'string') {
return String(value);
}
return value;
}
console.log(JSON.stringify(myjson, replacer));
【问题讨论】: