Appcelerator - 将循环结构转换为JSON

时间:2016-06-21 09:18:08

标签: json appcelerator titanium-android

我在使用字符串转换JSON时遇到问题。在iOS上一切都很完美,但在Android上我有这个错误:

[ERROR] :  TiExceptionHandler: (main) [2,20592] - Message: Uncaught TypeError: Converting circular structure to JSON

这是我的代码:

var args = $.args

var data = args.data;
var oferta = data.oferta;
var params = data.params;
var parent = args.parent;

//INSERT
var producto = Alloy.createModel('Producto', {
  oferta_id: parseInt(oferta.id),
  data: JSON.stringify(args) //ERROR
});

传递给控制器​​的args是这样的:

var args = {
   data: 
   { 
      oferta: {id: 5}, 
      params:{id_opcion_precio: 3445}
   },
   parent: {}
}

出了什么问题? iOS上为什么工作正常???

2 个答案:

答案 0 :(得分:0)

不确定为什么要对args进行字符串化。在创建模型时尝试使用JSON.stringify(args.data)

我想你会遇到同样的问题,只需在args这样的日志语句中字符串化console.log(JSON.stringify(args))吗?

我在尝试将整个事件(例如从ti.map)写入控制台时遇到了类似的问题。有些事情让它破裂 - 我认为你没有看到的数据中添加了一些属性。

答案 1 :(得分:0)

最后我解决了我的问题:

JSON.stringify({data: data, parent: parent});

这种作品我不知道为什么,但作品