Module: JSON::Ext::Generator::GeneratorMethods::String
| Relationships & Source Files | |
| Namespace Children | |
| Modules: | |
| Defined in: | ext/json/generator/generator.c | 
Class Method Summary
- 
    
      .included(modul)  
    
    Extends modul with the Extendmodule.
Instance Method Summary
- 
    
      #to_json(*)  ⇒ ? 
    
    This string should be encoded with UTF-8 A call to this method returns a ::JSONstring encoded with UTF16 big endian characters as u????.
- 
    
      #to_json_raw(*args)  ⇒ ? 
    
    This method creates a ::JSONtext from the result of a call to to_json_raw_object of thisString.
- 
    
      #to_json_raw_object  ⇒ ? 
    
    This method creates a raw object hash, that can be nested into other data structures and will be generated as a raw string. 
Class Method Details
.included(modul)
Extends modul with the String::Extend module.
# File 'ext/json/generator/generator.c', line 554
static VALUE mString_included_s(VALUE self, VALUE modul) {
    VALUE result = rb_funcall(modul, i_extend, 1, mString_Extend);
    rb_call_super(1, &modul);
    return result;
}
  Instance Method Details
#to_json(*) ⇒ ?
This string should be encoded with UTF-8 A call to this method returns a ::JSON string encoded with UTF16 big endian characters as u????.
# File 'ext/json/generator/generator.c', line 567
static VALUE mString_to_json(int argc, VALUE *argv, VALUE self)
{
    rb_check_arity(argc, 0, 1);
    VALUE Vstate = cState_from_state_s(cState, argc == 1 ? argv[0] : Qnil);
    return cState_partial_generate(Vstate, self, generate_json_string, Qfalse);
}
  #to_json_raw(*args) ⇒ ?
This method creates a ::JSON text from the result of a call to to_json_raw_object of this String.
# File 'ext/json/generator/generator.c', line 598
static VALUE mString_to_json_raw(int argc, VALUE *argv, VALUE self)
{
    VALUE obj = mString_to_json_raw_object(self);
    Check_Type(obj, T_HASH);
    return mHash_to_json(argc, argv, obj);
}
  #to_json_raw_object ⇒ ?
This method creates a raw object hash, that can be nested into other data structures and will be generated as a raw string. This method should be used, if you want to convert raw strings to ::JSON instead of UTF-8 strings, e. g. binary data.
# File 'ext/json/generator/generator.c', line 582
static VALUE mString_to_json_raw_object(VALUE self)
{
    VALUE ary;
    VALUE result = rb_hash_new();
    rb_hash_aset(result, rb_funcall(mJSON, i_create_id, 0), rb_class_name(rb_obj_class(self)));
    ary = rb_funcall(self, i_unpack, 1, rb_str_new2("C*"));
    rb_hash_aset(result, rb_utf8_str_new_lit("raw"), ary);
    return result;
}