aboutsummaryrefslogtreecommitdiff
path: root/core/io
diff options
context:
space:
mode:
authorJuan Linietsky2017-01-08 22:40:00 -0300
committerJuan Linietsky2017-01-08 22:40:00 -0300
commit62273e51a252287d1c60228e8a8e8939ecaa73c6 (patch)
treefd39af99bc9cc1e71a623a0efda3222c3633134d /core/io
parentfdc3380cf6e0d17b19bbf9458f641fd948aa2ffc (diff)
downloadgodot-62273e51a252287d1c60228e8a8e8939ecaa73c6.tar.gz
godot-62273e51a252287d1c60228e8a8e8939ecaa73c6.tar.zst
godot-62273e51a252287d1c60228e8a8e8939ecaa73c6.zip
Moved JSON functions to built-in to_json, parse_json, validate_json
Diffstat (limited to 'core/io')
-rw-r--r--core/io/json.cpp19
-rw-r--r--core/io/json.h4
2 files changed, 10 insertions, 13 deletions
diff --git a/core/io/json.cpp b/core/io/json.cpp
index f42155bc9..3280f9475 100644
--- a/core/io/json.cpp
+++ b/core/io/json.cpp
@@ -92,9 +92,9 @@ String JSON::_print_var(const Variant& p_var) {
}
-String JSON::print(const Dictionary& p_dict) {
+String JSON::print(const Variant& p_var) {
- return _print_var(p_dict);
+ return _print_var(p_var);
}
@@ -450,27 +450,24 @@ Error JSON::_parse_object(Dictionary &object,const CharType *p_str,int &index, i
}
-Error JSON::parse(const String& p_json,Dictionary& r_ret,String &r_err_str,int &r_err_line) {
+Error JSON::parse(const String& p_json, Variant &r_ret, String &r_err_str, int &r_err_line) {
const CharType *str = p_json.ptr();
int idx = 0;
int len = p_json.length();
Token token;
- int line=0;
+ r_err_line=0;
String aux_key;
- Error err = _get_token(str,idx,len,token,line,r_err_str);
+ Error err = _get_token(str,idx,len,token,r_err_line,r_err_str);
if (err)
return err;
- if (token.type!=TK_CURLY_BRACKET_OPEN) {
+ err = _parse_value(r_ret,token,str,idx,len,r_err_line,r_err_str);
- r_err_str="Expected '{'";
- return ERR_PARSE_ERROR;
- }
-
- return _parse_object(r_ret,str,idx,len,r_err_line,r_err_str);
+ return err;
+
}
diff --git a/core/io/json.h b/core/io/json.h
index 52fcac145..97457d223 100644
--- a/core/io/json.h
+++ b/core/io/json.h
@@ -74,8 +74,8 @@ class JSON {
static Error _parse_object(Dictionary &object,const CharType *p_str,int &index, int p_len,int &line,String &r_err_str);
public:
- static String print(const Dictionary& p_dict);
- static Error parse(const String& p_json,Dictionary& r_ret,String &r_err_str,int &r_err_line);
+ static String print(const Variant &p_var);
+ static Error parse(const String& p_json,Variant& r_ret,String &r_err_str,int &r_err_line);
};
#endif // JSON_H