```
bitcoin-cli listreceivedbyaddress 0 true true 2NABbUr9yeRCp1oUCtVmgJF8HGRCo3ifpTT
```

gives an error: `error: Error parsing JSON:2NABbUr9yeRCp1oUCtVmgJF8HGRCo3ifpTT`

as it's trying to parse the address as json. so you'd have to write:
```
bitcoin-cli listreceivedbyaddress 0 true true '"2NABbUr9yeRCp1oUCtVmgJF8HGRCo3ifpTT"'
```
which is clumsy and inconsistent with other RPC methods as well as the help file
{
private:
    std::set<std::pair<std::string, int>> members;
    std::set<std::pair<std::string, std::string>> membersByName;
public:
    CRPCConvertTable();
    bool convert(const std::string& method, int idx) {
        return (members.count(std::make_pair(method, idx)) > 0);
    }
    bool convert(const std::string& method, const std::string& name) {
        return (membersByName.count(std::make_pair(method, name)) > 0);
    }
};
CRPCConvertTable::CRPCConvertTable()
{
    const unsigned int n_elem =
        (sizeof(vRPCConvertParams) / sizeof(vRPCConvertParams[0]));
    for (unsigned int i = 0; i < n_elem; i++) {
        members.insert(std::make_pair(vRPCConvertParams[i].methodName,
                                      vRPCConvertParams[i].paramIdx));
        membersByName.insert(std::make_pair(vRPCConvertParams[i].methodName,
                                            vRPCConvertParams[i].paramName));
    }
}
static CRPCConvertTable rpcCvtTable;
/** Non-RFC4627 JSON parser, accepts internal values (such as numbers, true, false, null)
 * as well as objects and arrays.
 */
UniValue ParseNonRFCJSONValue(const std::string& strVal)