support parsing from sajson::string