Commit f650abaa authored by Wojciech Tyczynski's avatar Wojciech Tyczynski

Use ugorji/go/codec for decoding jsons.

parent 6a035833
...@@ -17,9 +17,9 @@ limitations under the License. ...@@ -17,9 +17,9 @@ limitations under the License.
package conversion package conversion
import ( import (
"encoding/json"
"errors" "errors"
"fmt" "fmt"
"github.com/ugorji/go/codec"
) )
func (s *Scheme) DecodeToVersionedObject(data []byte) (obj interface{}, version, kind string, err error) { func (s *Scheme) DecodeToVersionedObject(data []byte) (obj interface{}, version, kind string, err error) {
...@@ -38,7 +38,7 @@ func (s *Scheme) DecodeToVersionedObject(data []byte) (obj interface{}, version, ...@@ -38,7 +38,7 @@ func (s *Scheme) DecodeToVersionedObject(data []byte) (obj interface{}, version,
return nil, "", "", err return nil, "", "", err
} }
if err := json.Unmarshal(data, obj); err != nil { if err := codec.NewDecoderBytes(data, new(codec.JsonHandle)).Decode(obj); err != nil {
return nil, "", "", err return nil, "", "", err
} }
return return
...@@ -139,7 +139,7 @@ func (s *Scheme) DecodeIntoWithSpecifiedVersionKind(data []byte, obj interface{} ...@@ -139,7 +139,7 @@ func (s *Scheme) DecodeIntoWithSpecifiedVersionKind(data []byte, obj interface{}
if err != nil { if err != nil {
return err return err
} }
if err := json.Unmarshal(data, external); err != nil { if err := codec.NewDecoderBytes(data, new(codec.JsonHandle)).Decode(external); err != nil {
return err return err
} }
flags, meta := s.generateConvertMeta(dataVersion, objVersion, external) flags, meta := s.generateConvertMeta(dataVersion, objVersion, external)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment