簡體   English   中英

從 JSON 字符串解析單個值的最快方法

[英]Fastest way to parse single value from JSON string

我有一個字符串,它是從以下 JSON 格式的 websocket 中獲取的。 我想要一種非常低延遲的方式來解析與鍵C關聯的值c 我得到的每個數據包的鍵名都相同,但值可能不同。 因此,鍵C將保持不變,但值可以從c更改為可能更長的值。 在我的實際應用中, XY的條目數量可能更長。

我嘗試了幾種不同的方法,包括使用 Jackson [1] 解析單個字段,將完整字符串解析為JsonNode ,但它們都太慢了(超過 50 微秒)。 我想過使用 [2] 在"C"的字符串中找到位置,然后在此之后取接下來的幾個字符,但問題是值c是可變長度的,因此很棘手。

String s = {"A":"a","B":"b","data":[{"C":"c","X":[["3.79","28.07","1"],["3.791","130.05","3"],["3.792","370.8958","5"]],"Y":[["3.789","200","1"],["3.788","1238.1709","4"],["3.787","513.4051","3"]]}'

我想要這樣的東西:

String valueOfC = getValueOfC(s) // return in only a few microseconds

[1] 如何使用 Jackson 讀取單個 JSON 字段

[2] Java:獲取字符串中匹配位置的方法?

s.substring(s.indexOf("\"data\":[{\"C") + 4, s.indexOf("\"",s.indexOf("\"data\":[{\"C") + 4)));

這是亞微秒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM