Python has powerful regular expressions but they can be totally overkill for many simpler situations. Additionally, some common numerical formats require quite complex regex's to match them robustly.
i've found that unlike original scanf(), the json_scanf() does not support "scanset" feature. Eg.: json_scanf(in, sizeof(in), "{ str:%30[0-9a-zA-Z ] }", out); should scan string of up to 30 characers ...