40 lines
673 B
C++
40 lines
673 B
C++
#ifndef __UT_JSON_HPP__
|
|
#define __UT_JSON_HPP__
|
|
|
|
#include <unitree/common/any.hpp>
|
|
|
|
namespace unitree
|
|
{
|
|
namespace common
|
|
{
|
|
typedef std::map<std::string,Any> JsonMap;
|
|
typedef std::vector<Any> JsonArray;
|
|
|
|
Any FromJsonString(const std::string& s);
|
|
|
|
std::string ToJsonString(const Any& a, bool pretty = false);
|
|
|
|
static inline bool IsNull(const Any& a)
|
|
{
|
|
return a.Empty();
|
|
}
|
|
|
|
static inline bool IsJsonArray(const Any& a)
|
|
{
|
|
return a.GetTypeInfo() == typeid(JsonArray);
|
|
}
|
|
|
|
static inline bool IsJsonMap(const Any& a)
|
|
{
|
|
return a.GetTypeInfo() == typeid(JsonMap);
|
|
}
|
|
|
|
static inline bool IsJsonObject(const Any& a)
|
|
{
|
|
return IsJsonMap(a);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endif//__UT_JSON_HPP__
|