在native-native

时间:2018-03-15 21:57:34

标签: javascript react-native realm

我在我的react-native app中定义了嵌套的realm对象:

export const userSchema = {
  name: 'User',
  primaryKey: 'id',
  properties: {
    id: 'string',
    user_id: 'string',
    password: 'string',
    demographics: 'Demographics',
    notes: 'string'
  }
}

export const demographicsSchema = {
  name: 'Demographics',
  primaryKey: 'id',
  properties: {
    id: 'int',
    age: 'int',
    height: 'float',
    weight: 'float',
    gender: 'int',
  }
}

当我从领域查询User时,我想将其转换为Json并通过http请求发送到后端服务器。但是,在搜索模块以将realm对象转换为Json之后,我没有找到任何有用的内容来执行此特定任务。如果有人知道一种简单的方法将嵌套的realm对象转换为反应原生的Json,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

Realm目前还没有在他的api中集成这种功能,但你可以尝试这样的事情:

function realmToPlainObject(realmObj) {
  return JSON.parse(JSON.stringify(realmObj));
}

或者那样,但它会很慢! :

var plainResults = Array.prototype.map.call(resultsCars, (car) => {
  var object = {};

  for (var property of YourSchema.properties) {
    object[name] = car[name];
  }

  return object;
});

我知道这可能是多余的,但更好的方法是通过在realmObject中获取所需的每个键来创建json对象。