PUBLIC MprJson *mprReadJsonObj(MprJson *obj, cchar *name)
{
    MprJson      *child;
    int         i, index;

    if (!obj || !name) {
        return 0;
    }
    if (obj->type & MPR_JSON_OBJ) {
        for (ITERATE_JSON(obj, child, i)) {
            if (smatch(child->name, name)) {
                return child;
            }
        }
    } else if (obj->type & MPR_JSON_ARRAY) {
        /*
            Note this does a linear traversal counting array elements. Not the fastest.
            This code is not optimized for huge arrays.
         */
        if (*name == '$') {
            return 0;
        }
        index = (int) stoi(name);
        for (ITERATE_JSON(obj, child, i)) {
            if (i == index) {
                return child;
            }
        }
    }
    return 0;
}
NVD is only using a subset of CWE for mapping instead of the entire CWE, and the weakness type is not covered by that subset.