Is your JSON string properly formatted? Check for missing quotes around keys or missing braces. If it isn't properly formatted, then json.decode(s) will throw a FormatException