MemoryJson<T>.decode constructor
MemoryJson<T>.decode (})
Given a JSON string representing an array of HeapSample, decode to a List of HeapSample.
Implementation
MemoryJson.decode(
String payloadName, {
required String argJsonString,
Map<String, dynamic>? argDecodedMap,
}) {
final Map<String, dynamic> decodedMap =
argDecodedMap ?? jsonDecode(argJsonString);
Map<String, dynamic> payload = decodedMap[payloadName];
int payloadVersion = payload[jsonVersionField];
final payloadDevToolsScreen = payload[jsonDevToolsScreenField];
if (payloadVersion != version) {
payload = upgradeToVersion(payload, payloadVersion);
payloadVersion = version;
}
_memoryPayload = payloadDevToolsScreen == devToolsScreenValueMemory;
_payloadVersion = payloadVersion;
// Any problem return (data is empty).
if (!isMatchedVersion || !isMemoryPayload) return;
final List dynamicList = payload[jsonDataField];
for (var index = 0; index < dynamicList.length; index++) {
final sample = fromJson(dynamicList[index] as Map<String, dynamic>);
data.add(sample);
}
}