예제 #1
0
std::string PlayFabBaseModel::toJSONString()
{
    GenericStringBuffer< UTF8<> > buffer;
    PFStringJsonWriter writer(buffer);
    writeJSON(writer);
    return buffer.GetString();
}
예제 #2
0
TEST(SchemaValidator, ValidateMetaSchema_UTF16) {
    typedef GenericDocument<UTF16<> > D;
    typedef GenericSchemaDocument<D::ValueType> SD;
    typedef GenericSchemaValidator<SD> SV;

    CrtAllocator allocator;
    char* json = ReadFile("draft-04/schema", allocator);

    D d;
    StringStream ss(json);
    d.ParseStream<0, UTF8<> >(ss);
    ASSERT_FALSE(d.HasParseError());
    SD sd(d);
    SV validator(sd);
    if (!d.Accept(validator)) {
        GenericStringBuffer<UTF16<> > sb;
        validator.GetInvalidSchemaPointer().StringifyUriFragment(sb);
        wprintf(L"Invalid schema: %ls\n", sb.GetString());
        wprintf(L"Invalid keyword: %ls\n", validator.GetInvalidSchemaKeyword());
        sb.Clear();
        validator.GetInvalidDocumentPointer().StringifyUriFragment(sb);
        wprintf(L"Invalid document: %ls\n", sb.GetString());
        ADD_FAILURE();
    }
    CrtAllocator::Free(json);
}
예제 #3
0
파일: opts.cpp 프로젝트: picopter/picopterx
/**
 * Serialises the options into a UTF-8 encoded JSON string.
 * @return The serialised option data.
 */
std::string Options::Serialise() {
    GenericStringBuffer<UTF8<>> buffer;
    PrettyWriter<GenericStringBuffer<UTF8<>>> pw(buffer);
    Document *d = static_cast<Document*>(m_doc);

    d->Accept(pw);
    return std::string(buffer.GetString());
}
예제 #4
0
void TestTranscode(const char* json)
{ StringStream s(json);
  GenericStringBuffer<TargetEncoding> buffer;
  Writer<GenericStringBuffer<TargetEncoding>, UTF8<>, TargetEncoding> writer(buffer);
  Reader reader;
  reader.Parse(s, writer);

  StringBuffer buffer2;
  Writer<StringBuffer> writer2(buffer2);
  GenericReader<TargetEncoding, UTF8<> > reader2;
  GenericStringStream<TargetEncoding> s2(buffer.GetString());
  reader2.Parse(s2, writer2);

  EXPECT_STREQ(json, buffer2.GetString());
}
예제 #5
0
void PitchmarkParameters::save(const boost::filesystem::wpath& path)
{
  GenericDocument< UTF16<> > doc;
  Document::AllocatorType& allocator = doc.GetAllocator();
  doc.SetObject();
  doc.AddMember(L"filename", StringRef(filename.c_str()), allocator);
  doc.AddMember(L"sub_fade_start", sub_fade_start, allocator);
  doc.AddMember(L"base_pitch", base_pitch, allocator);
  {
    GenericValue< UTF16<> > base_vowel_wav(kObjectType);
    base_vowel_wav.AddMember(L"filename", StringRef(base_vowel_wav_filename.c_str()), allocator);
    base_vowel_wav.AddMember(L"from", base_vowel_wav_from, allocator);
    base_vowel_wav.AddMember(L"to", base_vowel_wav_to, allocator);
    doc.AddMember(L"base_vowel_wav", base_vowel_wav, allocator);
  }
  {
    GenericValue< UTF16<> > prefix_vowel_wav(kObjectType);
    prefix_vowel_wav.AddMember(L"filename", StringRef(prefix_vowel_wav_filename.c_str()), allocator);
    prefix_vowel_wav.AddMember(L"from", prefix_vowel_wav_from, allocator);
    prefix_vowel_wav.AddMember(L"to", prefix_vowel_wav_to, allocator);
    doc.AddMember(L"prefix_vowel_wav", prefix_vowel_wav, allocator);
  }
  {
    GenericValue< UTF16<> > tmp_val(kArrayType);
    for (size_t i=0; i<pitchmark_points.size(); i++) {
      tmp_val.PushBack(pitchmark_points[i], allocator);
    }
    doc.AddMember(L"pitchmark_points", tmp_val, allocator);
  }

  GenericStringBuffer< UTF16<> > buffer;
  PrettyWriter<GenericStringBuffer< UTF16<> >, UTF16<>, ASCII<> > writer(buffer);
  doc.Accept(writer);

  boost::filesystem::wofstream ofs(path, ios_base::trunc);
  ofs << buffer.GetString();
}