ME
JSON::DWIW - JSON converter that Does What I Want
=head1 SYNOPSIS
use JSON::DWIW;
my $json_obj = JSON::DWIW->new;
my $data = $json_obj->from_json($json_str);
my $str = $json_obj->to_json($da
string) = $json_obj->from_json($json_str);
my $data = JSON::DWIW::deserialize($json_str);
my $error_str = JSON::DWIW::get_error_string();
use JSON::DWIW qw/deserialize_json from_json/
my $data
serialize_json($json_str);
my $error_str = JSON::DWIW::get_error_string();
my $error_string = $json_obj->get_error_string;
my $error_data = $json_obj->get_error_data;
my $stats = $json_obj->get_
ME
JSON::DWIW::Boolean - Return a true or false value when evaluated
in boolean context -- to be used with JSON::DWIW->encode() to
explicitly specify a boolean value.`
=head1 SYNOPSIS
use JSON::DW
IW;
my $val1 = JSON::DWIW->true;
my $val2 = JSON::DWIW->false;
# or
use JSON::DWIW::Boolean;
my $val1 = JSON::DWIW::Boolean->new(1); # true value
my $val2 = JSON::DWIW::Boolean->new(0); # fa
of L<JSON::DWIW> to specify that a true or false
value should be output when converting to JSON, since Perl does
not have explicit values for true and false.
Overloading is used, so if a L<JSON::DWI
get rid of "value computed is not used" warnings */
#define IGNORE_RV(x) (void)(x)
static SV *
vjson_encode_error(self_context * ctx, const char * file, int line_num, const char * fmt, va_list *ap_p
* error = newSVpv("", 0);
bool junk = 0;
HV * error_data = Nullhv;
sv_setpvf(error, "JSON::DWIW v%s - ", MOD_VERSION);
sv_vcatpvfn(error, fmt, strlen(fmt), ap_ptr, (SV **)0, 0, &junk
, 7, newSVpvf("%s", MOD_VERSION), 0));
return error;
}
#if defined(JSONEVT_HAVE_FULL_VARIADIC_MACROS)
static SV *
json_encode_error(self_context * ctx, const char * file, int line_num, const c
MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
*/
/* $Header: /repository/owens_lib/cpan/JSON/DWIW/DWIW.h,v 1.3 2009-04-11 02:18:37 don Exp $ */
#ifndef DWIW_H
#define DWIW_H
#ifdef __cplus
ine IS_PERL_5_6
#endif
#endif
#define DEBUG_UTF8 0
#define JSON_DO_DEBUG 0
#define JSON_DO_TRACE 0
#define JSON_DUMP_OPTIONS 0
#define JSON_DO_EXTENDED_ERRORS 0
#include <stdarg.h>
#define MAYBE_US
#ifdef HAVE_JSONEVT
#include "evt.h"
#endif
#define debug_level 9
#ifndef PERL_MAGIC_tied
#define PERL_MAGIC_tied 'P' /* Tied array or hash */
#endif
#define MOD_NAME "JSON::DWIW"
#defi
D_COMMON_H
#include "DWIW.h"
#include "libjsonevt/int_defs.h"
#include "libjsonevt/utf8.h"
#define kCommasAreWhitespace 1
/* a single set of flags for json_context and self_context */
#define kUseE
ine kBadCharError 0
#define kBadCharConvert 1
#define kBadCharPassThrough 2
/* for converting to JSON */
typedef struct {
SV * error;
SV * error_data;
int bare_keys;
UV bad_char_polic
T_H
#include "jsonevt.h"
#include "jsonevt_utils.h"
SV *
do_json_parse_buf(SV * self_sv, char * buf, STRLEN buf_len);
SV * do_json_parse(SV * self_sv, SV * json_str_sv);
SV * do_json_parse_file(SV
* self_sv, SV * file_sv);
SV * do_json_dummy_parse(SV *self_sv, SV * json_str_sv);
#endif
Don
*/
#ifndef JSONEVT_PLUS_PLUS_H
#define JSONEVT_PLUS_PLUS_H
#include <jsonevt.h>
#include <vector>
#include <string>
class JSONEvt {
public:
JSONEvt() { };
~JSONEvt() { };
s
_strings(const std::string& json_str,
std::vector<std::string>& result, std::string& err_out);
static int parse_list_of_strings(const char *json_str, uint json_str_size,
std::vect
*/
#ifndef JSONEVT_H
#define JSONEVT_H
#include <sys/types.h>
#include <stdio.h>
#include <jsonevt_config.h>
#ifdef JSONEVT_DEF_HAVE_INTTYPES_H
#include <inttypes.h>
#else
#ifdef JSONEVT_DEF_HAVE
lusplus
#define JSON_DO_CPLUSPLUS_WRAP_BEGIN extern "C" {
#define JSON_DO_CPLUSPLUS_WRAP_END }
#else
#define JSON_DO_CPLUSPLUS_WRAP_BEGIN
#define JSON_DO_CPLUSPLUS_WRAP_END
#endif
JSON_DO_CPLUSPLUS_W
WIN32)
#define JSONEVT_ON_WINDOWS
#endif
#ifdef _MSC_VER
/* Microsoft Visual C++ */
#if _MSC_VER >= 1400
/* MS Visual C++ 2005 */
#define JSONEVT_HAVE_FULL_VARIADIC_MACROS
#define JSONEVT_HAVE_VARIAD
.
*/
/* $Revision$ */
#ifndef JSONEVT_PRIVATE_H
#define JSONEVT_PRIVATE_H
#include "jsonevt.h"
#include "utf8.h"
#include "print.h"
#include "jsonevt_utils.h"
JSON_DO_CPLUSPLUS_WRAP_BEGIN
#inclu
char * buf;
uint len;
} json_datum;
struct context_flags_struct {
int have_char:1;
int pad:7;
};
typedef struct json_extern_ctx json_context;
struct json_extern_ctx {
const char *
d * cb_data;
json_string_cb string_cb;
json_array_begin_cb begin_array_cb;
json_array_end_cb end_array_cb;
json_array_begin_element_cb begin_array_element_cb;
json_array_end_elemen
=pod
=head1 NAME
JSON::DWIW::Changes - List of significant changes to JSON::DWIW
=head1 CHANGES
=head2 VERSION 0.47
=over 4
=item Added the I<start_depth> and I<start_depth_handler> options
=b
n converting to JSON
=back
=head2 Version 0.42
=over 4
=item Documentation fixes.
=item Fixed bug where numbers got coerced to strings when encoding, such that if you call to_json() again on the
m Fixed configuration problem for libjsonevt on Mac OS X
=item Documentation formatting fixes.
=back
=head2 Version 0.40
=over 4
=item Includes updates to jsonevt to fix parsing bug (segfault whe