JavaMapUtilities.cs 757 B

12345678910111213141516171819202122232425
  1. using System.Collections.Generic;
  2. namespace UnityEngine.Monetization
  3. {
  4. internal class JavaMapUtilities
  5. {
  6. public static IDictionary<string, object> GetDictionaryForJavaMap(AndroidJavaObject javaMap)
  7. {
  8. if (javaMap == null)
  9. {
  10. return new Dictionary<string, object>();
  11. }
  12. var jsonJavaObject = new AndroidJavaObject("org.json.JSONObject", javaMap);
  13. var json = jsonJavaObject.Call<string>("toString");
  14. var jsonObject = MiniJSON.Json.Deserialize(json);
  15. if (jsonObject is IDictionary<string, object> objects)
  16. {
  17. return objects;
  18. }
  19. return new Dictionary<string, object>();
  20. }
  21. }
  22. }