Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有Javascript toString()来发出JSON?_Javascript_Json - Fatal编程技术网

是否有Javascript toString()来发出JSON?

是否有Javascript toString()来发出JSON?,javascript,json,Javascript,Json,我在Rhino中使用Javascript,无法导入外部文件(但我可以访问java.lang和java.util),因此我正在寻找一个toString(),它会发出它所在对象的JSON MyOjbect.prototype.toString = function() { /* magically emits JSON of MyObject */ } 我不介意从头开始写这篇文章,但如果这篇文章已经存在,它将节省一些时间。 这仅用于调试转储以记录自定义对象 编辑:Rhino的旧版本,不可更新。没

我在Rhino中使用Javascript,无法导入外部文件(但我可以访问java.lang和java.util),因此我正在寻找一个toString(),它会发出它所在对象的JSON

MyOjbect.prototype.toString = function() {  /* magically emits JSON of MyObject */ }
我不介意从头开始写这篇文章,但如果这篇文章已经存在,它将节省一些时间。 这仅用于调试转储以记录自定义对象

编辑:Rhino的旧版本,不可更新。没有stringify()。

您用过吗?即使在犀牛身上,它也应该存在。

你试过吗?它应该存在,即使在Rhino中也是如此。

JSON.stringify(MyObject)应该可以做到这一点。如果没有此功能,请在互联网站中查找json2.js

链接:

如果要将其放在对象中,可以添加如下函数:

MyObject.prototype.toString= function () {
    return JSON.stringify(this);
}
通过这样做,您可以构建对象的子集,并将其字符串化,而不是对象原型本身:

MyObject.prototype.toString = function () {
    var subset = {
    ...
    }
    return JSON.stringify(subset);
}

从json: 特此免费授予获得本软件及相关文档文件(“软件”)副本的任何人在不受限制的情况下经营本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许向其提供软件的人员在符合以下条件的情况下这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质部分中

该软件应用于善,而非恶。

JSON.stringify(MyObject)应能做到这一点。如果没有此功能,请在互联网站中查找json2.js

链接:

如果要将其放在对象中,可以添加如下函数:

MyObject.prototype.toString= function () {
    return JSON.stringify(this);
}
通过这样做,您可以构建对象的子集,并将其字符串化,而不是对象原型本身:

MyObject.prototype.toString = function () {
    var subset = {
    ...
    }
    return JSON.stringify(subset);
}

从json: 特此免费授予获得本软件及相关文档文件(“软件”)副本的任何人在不受限制的情况下经营本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许向其提供软件的人员在符合以下条件的情况下这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质部分中


该软件应用于善,而非恶。

JSON.stringify
出现在Rhino?@IanKuca的最新版本Rhino中,是的。嗯,好主意,看起来是添加的。不幸的是,我正在使用的rhino是一个旧版本,更新它不是一个选项。但这让我走上了正确的道路,如果我能深入研究stringify(),看看许可证是否允许我复制它。stringify在Rhino中存在吗?@IanKuca在Rhino的最新版本中,是的。嗯,好主意,看起来它被添加了。不幸的是,我正在使用的rhino是一个旧版本,更新它不是一个选项。但这让我走上了正确的道路,如果我能深入研究stringify(),看看许可证是否允许我复制它。对于那些坚持使用JDK6并通过
ScriptEngine
之类的东西使用Rhino的人,它不在那里,但这是摆脱JDK6的一个更好的理由:-)对于那些坚持使用JDK6并通过
ScriptEngine
使用Rhino的人来说,它并不存在,但这是摆脱JDK6的一个更好的理由:-)Rhino的旧版本。更新不是选项。不能在浏览器中添加库吗?如果不能,那么在使用该函数之前,只需复制粘贴json2.js的内容(您应该检查许可问题,但我不认为在这种情况下会有问题)我完全被锁定在脚本编写端,因此必须编写所需的所有内容。看起来从json.js复制是一种方法。rhino的旧版本。更新不是选项。不能在浏览器中添加库吗?如果不能,那么在使用该函数之前,只需复制粘贴json2.js的内容(您应该检查许可问题,但我不认为在这种情况下会有问题)我完全被锁定在脚本编写端,因此必须编写所需的所有内容。看起来从json.js复制是一种方法。