Module: JSON::Ext::Generator::GeneratorMethods::String
- Defined in:
- ext/json/ext/generator/generator.c,
ext/json/ext/generator/generator.c
Overview
:nodoc:
Defined Under Namespace
Modules: Extend
Class Method Summary collapse
-
.included(modul) ⇒ Object
Extends modul with the String::Extend module.
Instance Method Summary collapse
-
#to_json(*) ⇒ Object
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????.
-
#to_json_raw(*args) ⇒ Object
This method creates a JSON text from the result of a call to to_json_raw_object of this String.
-
#to_json_raw_object ⇒ 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) ⇒ Object
Extends modul with the String::Extend module.
481 482 483 484 485 |
# File 'ext/json/ext/generator/generator.c', line 481
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(*) ⇒ Object
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????.
494 495 496 497 498 499 |
# File 'ext/json/ext/generator/generator.c', line 494
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);
}
|
#to_json_raw(*args) ⇒ Object
This method creates a JSON text from the result of a call to to_json_raw_object of this String.
525 526 527 528 529 530 |
# File 'ext/json/ext/generator/generator.c', line 525
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 ⇒ 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.
509 510 511 512 513 514 515 516 517 |
# File 'ext/json/ext/generator/generator.c', line 509
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_str_new2("raw"), ary);
return result;
}
|