前言xjson的特点以及使用查询语法快速方便的获取JSON中的值。同时,本次更新了一个版本,主要是两个升级:支持转义字符。性能优化,提升约30%??。转义字符先说第一个转义字符,无论是原始JSON字符串中还是查询语法中都有转义字符,都已经支持了。具体用法如下:str=`{"1a.b.[]":"b"}`get=Get(str,"1a\\.b\\.\\[\\]")assert。等于(t,get.String(),"b")str=`{".":"b"}`get=Get(str,"\\.")assert.Equal(t,get.String(),"b")str=`{"a":"{\"a\":\"123\"}"}`get=Get(str,"a")fmt.Println(get)assert.Equal(t,get.String(),"{\"a\":\"123\"}")assert.Equal(t,Get(get.String(),"a").String(),"123")str=`{"a":"{\"a\":[1,2]}"}`get=Get(str,"a")fmt.Println(get)assert.Equal(t,get.String(),"{\"a\":[1,2]}")assert.Equal(t,Get(get.String(),"a[0]").Int(),1)性能优化性能也进行了部分优化,比上一版本提升了约30%。pkg:github.com/crossoverJie/xjson/benckmarkcpu:Intel(R)Core(TM)i7-9750HCPU@2.60GHzBenchmarkDecode-121496877130ns/op44959B/op1546allocs/opPASS---------------------------------pkg:github.com/crossoverJie/xjson/benckmarkcpu:Intel(R)Core(TM)i7-9750HCPU@2.60GHzBenchmarkDecode-121913662960ns/op41593B/op1407allocs/opPASS但是总体来说还是有很大的优化空间,主要是毕竟上限低,差距还是很大的与官方图书馆。四种算术运算的实现接下来说一下这四种算术运算是如何实现的。这本身就是一个相当有趣的特性,尽管它在很多场景中并没有被使用。
