react-native 安卓原生模块如何返回json或object类型?

    @ReactMethod
    public void fn(final Promise promise) {
          XXX obj = new XXX();
          // 请问这里如何返回 {a: obj.a, b: obj.b}
          promise.resolve({a: obj.a, b: obj.b});
    }
阅读 1.9k
1 个回答

1.如果传递对象:

 @ReactMethod
 public void getUserInfo(Callback callback){
     WritableMap map = Arguments.createMap();
     map.putString("islogin",MainApplication.getApplication().isLogin()+"");
     map.putString("nick_name", getApplication().getNickname());
     map.putString("user_name", getApplication().getUsername());
     map.putString("avatar_url", getApplication().getTouxiang());
     map.putString("access_token",getApplication().getAccess_token());
     map.putString("uid",getApplication().getUid()+"");
     map.putString("gender_str", getApplication().getSex());
     callback.invoke(map);
 } 

2.如果传递json数组:

 @ReactMethod
 public void getAllGameList(Callback callback){
     ArrayList<Game> games = MainApplication.getApplication().getGames();
     WritableArray arrays = Arguments.createArray();
     for (Game game:games){
         WritableMap map = Arguments.createMap();
         map.putString("name",game.name);
         map.putString("thumbnail_url",game.thumbnail_url);
         ....
         arrays.pushMap(map);
     }
     callback.invoke(arrays);
 }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题