Commit 351ddb59 authored by 李志信's avatar 李志信

chorm: fix gosum and other format bug

parent 6e2d6a4e
......@@ -15,18 +15,20 @@
* limitations under the License.
*/
package jparser
package json
import (
"fmt"
"io/ioutil"
"log"
"reflect"
"strconv"
"strings"
"time"
)
import (
"github.com/buger/jsonparser"
perrors "github.com/pkg/errors"
)
// HessianRegisterPair define the pair to register to hessian
......@@ -78,8 +80,12 @@ func (jsp *jsonStructParser) cb(key []byte, value []byte, dataType jsonparser.Va
case jsonparser.Object: // sub interface parse
newParser := newJSONStructParser()
subObj := newParser.json2Struct(value)
javaClassName, err := getJavaClassName(subObj)
if err != nil {
return err
}
jsp.hessianRegisterPair = append(jsp.hessianRegisterPair, HessianRegisterPair{
JavaClassName: getJavaClassName(subObj),
JavaClassName: javaClassName,
Obj: subObj,
})
jsp.structFields = append(jsp.structFields, reflect.StructField{
......@@ -217,15 +223,14 @@ func (jsp *jsonStructParser) removeTargetNameField(v interface{}, targetName str
return newi.Addr().Interface()
}
func getJavaClassName(pkg interface{}) string {
func getJavaClassName(pkg interface{}) (string, error) {
val := reflect.ValueOf(pkg).Elem()
typ := reflect.TypeOf(pkg).Elem()
nums := val.NumField()
for i := 0; i < nums; i++ {
if typ.Field(i).Name == "JavaClassName" {
return val.Field(i).String()
return val.Field(i).String(), nil
}
}
fmt.Println("error: JavaClassName not found")
return ""
return "", perrors.Errorf("JavaClassName field not found error")
}
......@@ -15,7 +15,7 @@
* limitations under the License.
*/
package jparser
package json
import (
"testing"
......@@ -28,6 +28,7 @@ import (
func Test_newJsonStructParser(t *testing.T) {
path := "./user.json"
jParser := newJSONStructParser()
_, err := jParser.JSONFilePath2Struct(path)
hessianPair, _, err := jParser.jsonFilePath2Struct(path)
assert.NotEmpty(t, hessianPair)
assert.Nil(t, err)
}
github.com/apache/dubbo-go-hessian2 v1.8.0-rc1 h1:IJyHFLhJrNE5VdKtN6/0n7rJqCjHraHuORcHkZhwQyQ=
github.com/apache/dubbo-go-hessian2 v1.8.0-rc1/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
github.com/buger/jsonparser v1.0.0 h1:etJTGF5ESxjI0Ic2UaLQs2LQQpa8G9ykQScukbh4L8A=
github.com/buger/jsonparser v1.0.0/go.mod h1:tgcrVJ81GPSF0mz+0nu1Xaz0fazGPrmmJfJtxjbHhUQ=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
......
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