【发布时间】:2015-11-24 18:11:42
【问题描述】:
我正在使用 Three.js 在数据库中保存和加载对象。我将我的对象作为 JSON 插入。
问题是 JSON.stringify 或 toJSON() 在 base64 中转换图像 url(纹理),我想保留 http url。
这是原始 JSON:
{
"metadata": {
[...]
},
"geometries": [
{
[...]
}],
"materials": [
{
[...]
}],
"textures": [
{
[...]
}],
"images": [
{
"uuid": "4ED9CE3E-7C8A-4EB7-8CF8-D90B3527DF5F",
"url": "data:image/png;base64,iVBORw0KGgoATyuRZGZVREd0FAERRRBAEBEFwAYEyKqP/Rfozx+5fDYjvpeT/akv+n/J+/7eMjX9Ke8uojP4JVAYAyuj/Ld3Por7fPQ9i8d7vvr8LKNzLg/dn1u1hvQf3q/v92vRX0X/ [...]"
}],
"object": {
[...]
}
}
所需的 JSON 类型是这样的:
{
"metadata": {
[...]
},
"geometries": [
{
[...]
}],
"materials": [
{
[...]
}],
"textures": [
{
[...]
}],
"images": [
{
"uuid": "4ED9CE3E-7C8A-4EB7-8CF8-D90B3527DF5F",
"url": "http://www.domain.com/picture/path.png"
}],
"object": {
[...]
}
}
有解决办法吗?
【问题讨论】:
-
stringify函数如何使用? -
var objectJson = SELECTED.toJSON(); objectJson = JSON.stringify( objectJson, null, '\t' ); objectJson = objectJson.replace( /[\n\t]+([\d\.e\-\[\]]+)/g, '$1' );
标签: javascript json three.js base64