Module ActiveSupport::OkJson
In: lib/active_support/json/backends/okjson.rb

Methods

abbrev   arrenc   arrparse   decode   eat   encode   falsetok   hexdec4   keyenc   lex   nibble   nulltok   numenc   numtok   objenc   objparse   pairparse   strenc   strtok   subst   surrogate?   textparse   tok   truetok   ucharcopy   ucharenc   unquote   valenc   valparse  

Classes and Modules

Class ActiveSupport::OkJson::Error
Class ActiveSupport::OkJson::Utf8Error

Constants

Upstream = 'LTD7LBKLZWFF7OZK'
Utagx = 0x80
Utag2 = 0xc0
Utag3 = 0xe0
Utag4 = 0xf0
Utag5 = 0xF8
Umaskx = 0x3f
Umask2 = 0x1f
Umask3 = 0x0f
Umask4 = 0x07
Uchar1max = (1<<7) - 1
Uchar2max = (1<<11) - 1
Uchar3max = (1<<16) - 1
Ucharerr = 0xFFFD
Ustrerr = "\xef\xbf\xbd"
Usurrself = 0x10000
Usurr1 = 0xd800
Usurr2 = 0xdc00
Usurr3 = 0xe000
Spc = ' '[0]
Unesc = {?b=>?\b, ?f=>?\f, ?n=>?\n, ?r=>?\r, ?t=>?\t}

Public Instance methods

Parses an "array" in the sense of RFC 4627. Returns the parsed value and any trailing tokens.

Decodes a json document in string s and returns the corresponding ruby value. String s must be valid UTF-8. If you have a string in some other encoding, convert it first.

String values in the resulting structure will be UTF-8.

Encodes x into a json text. It may contain only Array, Hash, String, Numeric, true, false, nil. (Note, this list excludes Symbol.) X itself must be an Array or a Hash. No other value can be encoded, and an error will be raised if x contains any other value, such as Nan, Infinity, Symbol, and Proc, or if a Hash key is not a String. Strings contained in x must be valid UTF-8.

Scans s and returns a list of json tokens, excluding white space (as defined in RFC 4627).

Parses an "object" in the sense of RFC 4627. Returns the parsed value and any trailing tokens.

Parses a "member" in the sense of RFC 4627. Returns the parsed values and any trailing tokens.

Parses a "json text" in the sense of RFC 4627. Returns the parsed value and any trailing tokens. Note: this is almost the same as valparse, except that it does not accept atomic values.

Scans the first token in s and returns a 3-element list, or nil if s does not begin with a valid token.

The first list element is one of ’{’, ’}’, ’:’, ’,’, ’[’, ’]’, :val, :str, and :space.

The second element is the lexeme.

The third element is the value of the token for :val and :str, otherwise it is the lexeme.

Copies the valid UTF-8 bytes of a single character from string s at position i to I/O object t, and returns the number of bytes copied. If no valid UTF-8 char exists at position i, ucharcopy writes Ustrerr and returns 1.

Encodes unicode character u as UTF-8 bytes in string a at position i. Returns the number of bytes written.

Converts a quoted json string literal q into a UTF-8-encoded string. The rules are different than for Ruby, so we cannot use eval. Unquote will raise an error if q contains control characters.

Parses a "value" in the sense of RFC 4627. Returns the parsed value and any trailing tokens.

[Validate]