(json string, i int)
| 693 | } |
| 694 | |
| 695 | func parseString(json string, i int) (int, string, bool, bool) { |
| 696 | var s = i |
| 697 | for ; i < len(json); i++ { |
| 698 | if json[i] > '\\' { |
| 699 | continue |
| 700 | } |
| 701 | if json[i] == '"' { |
| 702 | return i + 1, json[s-1 : i+1], false, true |
| 703 | } |
| 704 | if json[i] == '\\' { |
| 705 | i++ |
| 706 | for ; i < len(json); i++ { |
| 707 | if json[i] > '\\' { |
| 708 | continue |
| 709 | } |
| 710 | if json[i] == '"' { |
| 711 | // look for an escaped slash |
| 712 | if json[i-1] == '\\' { |
| 713 | n := 0 |
| 714 | for j := i - 2; j > 0; j-- { |
| 715 | if json[j] != '\\' { |
| 716 | break |
| 717 | } |
| 718 | n++ |
| 719 | } |
| 720 | if n%2 == 0 { |
| 721 | continue |
| 722 | } |
| 723 | } |
| 724 | return i + 1, json[s-1 : i+1], true, true |
| 725 | } |
| 726 | } |
| 727 | break |
| 728 | } |
| 729 | } |
| 730 | return i, json[s-1:], false, false |
| 731 | } |
| 732 | |
| 733 | func parseNumber(json string, i int) (int, string) { |
| 734 | var s = i |
no outgoing calls
no test coverage detected
searching dependent graphs…