我正在尝试将Int32 []数组和bool []数组存储到Firebase,但它对我不起作用。我在各个地方进行了搜索,但是找不到解决方案。谁能告诉我,如何从Unity将数组存储到Firebase Real-time DB。
我正在使用$paginator = new Paginator($filteredBundles, 15); // 15 is items per page
获取类System.Reflection
的所有公共静态字段。
这是代码,我正在尝试完成这项工作...
UserPrefs
上面的代码保存除数组以外的所有值。数组上给出的错误如下:
InvalidCastException:无法从源类型转换为目标 类型。 Firebase.Database.Internal.Utilities.Validation.ValidateWritableObject (System.Object对象)
任何帮助将不胜感激...
答案 0 :(得分:0)
您需要一个这样的课程。
public class MyClass
{
public int[] intArray = new int[10];
}
然后您可以像这样将对象写入Firebase。
public void WriteArrays()
{
MyClass temp = new MyClass();
for (int i = 0; i < temp.intArray.Length; i++)
{
temp.intArray[i] = i;
}
databaseReference.Child("MyArrayNode").SetRawJsonValueAsync(JsonUtility.ToJson(temp));
}
databaseReference 是对您的根的引用。
您也可以通过同样的方式为 bool [] 做到这一点。
答案 1 :(得分:0)
对于更通用的解决方案,您可以复制建议使用here的JsonHelper类。
用法示例:
string jsonArray = JsonHelper.ToJsonArray(mySerializeableList);
var nodeToUpdate = this.dbReference.Child("wantedNode");
nodeToUpdate.SetRawJsonValueAsync(jsonArray);