getMapFromArguments static method

Map? getMapFromArguments(
  1. Map<String, dynamic> arguments,
  2. String key
)

Implementation

static Map? getMapFromArguments(Map<String, dynamic> arguments, String key) {
  if (arguments[key] == null) {
    return null;
  }

  var element = arguments[key];
  if (element is String) {
    try {
      element = Uri.decodeComponent(element); // 避免之前已解码过
    } catch (e) {
      //
    }

    try {
      element = jsonDecode(element);
    } catch (e) {
      //
    }

    return element;
  } else if (element is Map) {
    return element;
  } else {
    return null;
  }
}