|
|
@@ -4,7 +4,7 @@
|
|
|
*/
|
|
|
|
|
|
#include "json_parser.h"
|
|
|
-#include "njson.h"
|
|
|
+#include "sjson.h"
|
|
|
#include "temp_allocator.h"
|
|
|
#include "string_utils.h"
|
|
|
#include "vector.h"
|
|
|
@@ -45,7 +45,7 @@ JSONElement JSONElement::operator[](uint32_t i)
|
|
|
{
|
|
|
Array<const char*> array(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
CE_ASSERT(i < array::size(array), "Index out of bounds");
|
|
|
|
|
|
@@ -63,7 +63,7 @@ JSONElement JSONElement::index_or_nil(uint32_t i)
|
|
|
{
|
|
|
Array<const char*> array(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
if (i >= array::size(array))
|
|
|
{
|
|
|
@@ -79,7 +79,7 @@ JSONElement JSONElement::index_or_nil(uint32_t i)
|
|
|
JSONElement JSONElement::key(const char* k)
|
|
|
{
|
|
|
Map<DynamicString, const char*> object(default_allocator());
|
|
|
- njson::parse(_at, object);
|
|
|
+ sjson::parse(_at, object);
|
|
|
|
|
|
const char* value = map::get(object, DynamicString(k), (const char*) NULL);
|
|
|
CE_ASSERT(value != NULL, "Key not found: '%s'", k);
|
|
|
@@ -92,7 +92,7 @@ JSONElement JSONElement::key_or_nil(const char* k)
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
Map<DynamicString, const char*> object(default_allocator());
|
|
|
- njson::parse(_at, object);
|
|
|
+ sjson::parse(_at, object);
|
|
|
|
|
|
const char* value = map::get(object, DynamicString(k), (const char*) NULL);
|
|
|
|
|
|
@@ -106,24 +106,24 @@ JSONElement JSONElement::key_or_nil(const char* k)
|
|
|
bool JSONElement::has_key(const char* k) const
|
|
|
{
|
|
|
Map<DynamicString, const char*> object(default_allocator());
|
|
|
- njson::parse(_at, object);
|
|
|
+ sjson::parse(_at, object);
|
|
|
|
|
|
return map::has(object, DynamicString(k));
|
|
|
}
|
|
|
|
|
|
bool JSONElement::to_bool(bool def) const
|
|
|
{
|
|
|
- return is_nil() ? def : njson::parse_bool(_at);
|
|
|
+ return is_nil() ? def : sjson::parse_bool(_at);
|
|
|
}
|
|
|
|
|
|
int32_t JSONElement::to_int(int32_t def) const
|
|
|
{
|
|
|
- return is_nil() ? def : njson::parse_int(_at);
|
|
|
+ return is_nil() ? def : sjson::parse_int(_at);
|
|
|
}
|
|
|
|
|
|
float JSONElement::to_float(float def) const
|
|
|
{
|
|
|
- return is_nil() ? def : njson::parse_float(_at);
|
|
|
+ return is_nil() ? def : sjson::parse_float(_at);
|
|
|
}
|
|
|
|
|
|
DynamicString JSONElement::to_string(const char* def) const
|
|
|
@@ -133,7 +133,7 @@ DynamicString JSONElement::to_string(const char* def) const
|
|
|
if (is_nil())
|
|
|
str = def;
|
|
|
else
|
|
|
- njson::parse_string(_at, str);
|
|
|
+ sjson::parse_string(_at, str);
|
|
|
|
|
|
return str;
|
|
|
}
|
|
|
@@ -145,10 +145,10 @@ Vector2 JSONElement::to_vector2(const Vector2& def) const
|
|
|
|
|
|
TempAllocator64 alloc;
|
|
|
Array<const char*> array(alloc);
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
- return vector2(njson::parse_float(array[0]),
|
|
|
- njson::parse_float(array[1]));
|
|
|
+ return vector2(sjson::parse_float(array[0]),
|
|
|
+ sjson::parse_float(array[1]));
|
|
|
}
|
|
|
|
|
|
Vector3 JSONElement::to_vector3(const Vector3& def) const
|
|
|
@@ -158,11 +158,11 @@ Vector3 JSONElement::to_vector3(const Vector3& def) const
|
|
|
|
|
|
TempAllocator64 alloc;
|
|
|
Array<const char*> array(alloc);
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
- return vector3(njson::parse_float(array[0]),
|
|
|
- njson::parse_float(array[1]),
|
|
|
- njson::parse_float(array[2]));
|
|
|
+ return vector3(sjson::parse_float(array[0]),
|
|
|
+ sjson::parse_float(array[1]),
|
|
|
+ sjson::parse_float(array[2]));
|
|
|
}
|
|
|
|
|
|
Vector4 JSONElement::to_vector4(const Vector4& def) const
|
|
|
@@ -172,12 +172,12 @@ Vector4 JSONElement::to_vector4(const Vector4& def) const
|
|
|
|
|
|
TempAllocator64 alloc;
|
|
|
Array<const char*> array(alloc);
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
- return vector4(njson::parse_float(array[0]),
|
|
|
- njson::parse_float(array[1]),
|
|
|
- njson::parse_float(array[2]),
|
|
|
- njson::parse_float(array[3]));
|
|
|
+ return vector4(sjson::parse_float(array[0]),
|
|
|
+ sjson::parse_float(array[1]),
|
|
|
+ sjson::parse_float(array[2]),
|
|
|
+ sjson::parse_float(array[3]));
|
|
|
}
|
|
|
|
|
|
Quaternion JSONElement::to_quaternion(const Quaternion& def) const
|
|
|
@@ -187,13 +187,13 @@ Quaternion JSONElement::to_quaternion(const Quaternion& def) const
|
|
|
|
|
|
TempAllocator64 alloc;
|
|
|
Array<const char*> array(alloc);
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
|
|
|
- const Vector3 axis = vector3(njson::parse_float(array[0])
|
|
|
- , njson::parse_float(array[1])
|
|
|
- , njson::parse_float(array[2])
|
|
|
+ const Vector3 axis = vector3(sjson::parse_float(array[0])
|
|
|
+ , sjson::parse_float(array[1])
|
|
|
+ , sjson::parse_float(array[2])
|
|
|
);
|
|
|
- const float angle = njson::parse_float(array[3]);
|
|
|
+ const float angle = sjson::parse_float(array[3]);
|
|
|
|
|
|
return quaternion(axis, angle);
|
|
|
}
|
|
|
@@ -217,14 +217,14 @@ StringId32 JSONElement::to_string_id(const StringId32 def) const
|
|
|
|
|
|
TempAllocator1024 alloc;
|
|
|
DynamicString str(alloc);
|
|
|
- njson::parse_string(_at, str);
|
|
|
+ sjson::parse_string(_at, str);
|
|
|
return str.to_string_id();
|
|
|
}
|
|
|
|
|
|
ResourceId JSONElement::to_resource_id() const
|
|
|
{
|
|
|
DynamicString str(default_allocator());
|
|
|
- njson::parse_string(_at, str);
|
|
|
+ sjson::parse_string(_at, str);
|
|
|
return ResourceId(str.c_str());
|
|
|
}
|
|
|
|
|
|
@@ -232,11 +232,11 @@ void JSONElement::to_array(Array<bool>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, njson::parse_bool(temp[i]));
|
|
|
+ array::push_back(array, sjson::parse_bool(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -244,11 +244,11 @@ void JSONElement::to_array(Array<int16_t>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, (int16_t)njson::parse_int(temp[i]));
|
|
|
+ array::push_back(array, (int16_t)sjson::parse_int(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -256,11 +256,11 @@ void JSONElement::to_array(Array<uint16_t>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, (uint16_t)njson::parse_int(temp[i]));
|
|
|
+ array::push_back(array, (uint16_t)sjson::parse_int(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -268,11 +268,11 @@ void JSONElement::to_array(Array<int32_t>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, (int32_t)njson::parse_int(temp[i]));
|
|
|
+ array::push_back(array, (int32_t)sjson::parse_int(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -280,11 +280,11 @@ void JSONElement::to_array(Array<uint32_t>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, (uint32_t)njson::parse_int(temp[i]));
|
|
|
+ array::push_back(array, (uint32_t)sjson::parse_int(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -292,11 +292,11 @@ void JSONElement::to_array(Array<float>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
- array::push_back(array, njson::parse_float(temp[i]));
|
|
|
+ array::push_back(array, sjson::parse_float(temp[i]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -304,13 +304,13 @@ void JSONElement::to_array(Vector<DynamicString>& array) const
|
|
|
{
|
|
|
Array<const char*> temp(default_allocator());
|
|
|
|
|
|
- njson::parse_array(_at, temp);
|
|
|
+ sjson::parse_array(_at, temp);
|
|
|
|
|
|
for (uint32_t i = 0; i < array::size(temp); i++)
|
|
|
{
|
|
|
TempAllocator256 ta;
|
|
|
DynamicString str(ta);
|
|
|
- njson::parse_string(temp[i], str);
|
|
|
+ sjson::parse_string(temp[i], str);
|
|
|
vector::push_back(array, str);
|
|
|
}
|
|
|
}
|
|
|
@@ -318,7 +318,7 @@ void JSONElement::to_array(Vector<DynamicString>& array) const
|
|
|
void JSONElement::to_keys(Vector<DynamicString>& keys) const
|
|
|
{
|
|
|
Map<DynamicString, const char*> object(default_allocator());
|
|
|
- njson::parse(_at, object);
|
|
|
+ sjson::parse(_at, object);
|
|
|
|
|
|
const Map<DynamicString, const char*>::Node* it = map::begin(object);
|
|
|
while (it != map::end(object))
|
|
|
@@ -332,7 +332,7 @@ bool JSONElement::is_nil() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::NIL;
|
|
|
+ return sjson::type(_at) == JsonValueType::NIL;
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
@@ -342,7 +342,7 @@ bool JSONElement::is_bool() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::BOOL;
|
|
|
+ return sjson::type(_at) == JsonValueType::BOOL;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
@@ -352,7 +352,7 @@ bool JSONElement::is_number() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::NUMBER;
|
|
|
+ return sjson::type(_at) == JsonValueType::NUMBER;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
@@ -362,7 +362,7 @@ bool JSONElement::is_string() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::STRING;
|
|
|
+ return sjson::type(_at) == JsonValueType::STRING;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
@@ -372,7 +372,7 @@ bool JSONElement::is_array() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::ARRAY;
|
|
|
+ return sjson::type(_at) == JsonValueType::ARRAY;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
@@ -382,7 +382,7 @@ bool JSONElement::is_object() const
|
|
|
{
|
|
|
if (_at != NULL)
|
|
|
{
|
|
|
- return njson::type(_at) == JsonValueType::OBJECT;
|
|
|
+ return sjson::type(_at) == JsonValueType::OBJECT;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
@@ -395,7 +395,7 @@ uint32_t JSONElement::size() const
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- switch(njson::type(_at))
|
|
|
+ switch(sjson::type(_at))
|
|
|
{
|
|
|
case JsonValueType::NIL:
|
|
|
{
|
|
|
@@ -404,20 +404,20 @@ uint32_t JSONElement::size() const
|
|
|
case JsonValueType::OBJECT:
|
|
|
{
|
|
|
Map<DynamicString, const char*> object(default_allocator());
|
|
|
- njson::parse(_at, object);
|
|
|
+ sjson::parse(_at, object);
|
|
|
return map::size(object);
|
|
|
}
|
|
|
case JsonValueType::ARRAY:
|
|
|
{
|
|
|
Array<const char*> array(default_allocator());
|
|
|
- njson::parse_array(_at, array);
|
|
|
+ sjson::parse_array(_at, array);
|
|
|
return array::size(array);
|
|
|
}
|
|
|
case JsonValueType::STRING:
|
|
|
{
|
|
|
TempAllocator256 ta;
|
|
|
DynamicString string(ta);
|
|
|
- njson::parse_string(_at, string);
|
|
|
+ sjson::parse_string(_at, string);
|
|
|
return string.length();
|
|
|
}
|
|
|
case JsonValueType::NUMBER:
|