Question:
我如何在我的java中使用这两个对象Object1和Object2?
答案是。 Quoted from here:
"对于用@ReactMethod注解的方法,支持以下参数类型,它们直接映射到其JavaScript等价物"
Boolean -> Bool
Integer -> Number
Double -> Number
Float -> Number
String -> String
Callback -> function
ReadableMap -> Object
ReadableArray -> Array
React Native是将javascript对象转换为ReadableMap
。
因此,你应该像这样实现这个方法,而不是在本地模块中期待一个Object
。
@ReactMethod
public void processData(final ReadableMap obj1, final ReadableMap obj2) {
// Parse the ReadableMap using the available interface methods
这些是ReadableMap
接口中的可用方法。Source
public interface ReadableMap {
boolean hasKey(String name);
boolean isNull(String name);
boolean getBoolean(String name);
double getDouble(String name);
int getInt(String name);
String getString(String name);
ReadableArray getArray(String name);
ReadableMap getMap(String name);
Dynamic getDynamic(String name);
ReadableType getType(String name);
ReadableMapKeySetIterator keySetIterator();
HashMap<String, Object> toHashMap();
按照你发布的例子对象,你可以这样解析你的数据。
ReadableMap data1 = obj1.getMap("data1");
String id = data1.getString("id");
String name = data1.getString("name");
// And so on...
ReadableMap details = obj1.getMap("details");
String detailId = details.getString("detailId");
int counter = details.getInt("counter");
// And so on...