如何将对象转换为其文本字符串
How to convert an object to its literal string?
我有一个包含对象文字的字符串:
var literalStr = "{
a: 1,
b: function(){return 'b'}
}";
我可以从字符串创建一个对象:
var obj = eval("(" + literalStr + ")");
有没有一种简单的方法可以从对象中获取文本字符串?
我正在寻找类似JSON.stringify()
的东西,但它创建了带有不带引号的函数和属性名称的原始文字。
您正在寻找非标准的toSource
方法。请注意,跨浏览器版本是不可能的,因为某些 js 引擎无法从函数中获取源字符串。
function stringify(source) {
if (typeof (source) == "object") {
var str = "{";
for (var key in source) {
var value = source[key];
str += key + ":" + stringify(value) + ",";
}
return str.substring(0,str.length-1) + "}";
}
return source.toString();
}
然后
console.log(stringify(obj));
// writes "{a:1,b:function (){return 'b'}}"
在 jsFiddle 中演示
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 数组中的随机文本字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- javascript高亮文本字符串
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 函数输入上未终止的文本字符串
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 如何使用javascript验证文本字符串
- 将部分文本字符串转换为html
- 如何使用javascript在单个正则表达式中递归替换文本字符串中重复的逗号
- 使用PowerShell在JavaScript网页上搜索文本字符串
- 使用jquery感知文本字符串中的时间范围
- 匹配最后一个点之后的文本字符串
- 从段落中删除某些文本字符串
- 如何使用 javascript 将输入到文本框中的变量插入到文本字符串中
- 当页面上存在特定文本字符串时发送 Google Analytics(分析)事件
- JSON 处理 - 向 JSP 发送 JSON 文本字符串,如何在 JSP 中处理
- 如何使用 JavaScript(但不是标签或属性)替换字符串中所有匹配的纯文本字符串