Skip to content

OptString.Decode() fails on JSON null values #1562

@BrandtKruger

Description

@BrandtKruger

Description

The generated OptString.Decode() method in oas_json_gen.go fails when encountering null values in JSON,
causing errors like "unexpected byte 110 'n'".

Expected Behavior

OptString should handle null values gracefully, similar to how OptNilString handles them.

Current Behavior

func (o *OptString) Decode(d *jx.Decoder) error {
    o.Set = true
    v, err := d.Str()  // Fails on null
    if err != nil {
        return err
    }
    o.Value = string(v)
    return nil
}



Suggested Fix

func (o *OptString) Decode(d *jx.Decoder) error {
    if d.Next() == jx.Null {
        if err := d.Null(); err != nil {
            return err
        }
        o.Set = false
        o.Value = ""
        return nil
    }
    o.Set = true
    v, err := d.Str()
    if err != nil {
        return err
    }
    o.Value = string(v)
    return nil
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions