From 006fc1314153ee833696a7e7122aae9c8ae1e6bd Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 26 Feb 2014 21:38:58 +0100 Subject: [PATCH] Example: change the type of the json string from char* to char[] because it cause issue in memory protected environments. --- .../JsonParserExample/JsonParserExample.ino | 188 +++++++++--------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/examples/JsonParserExample/JsonParserExample.ino b/examples/JsonParserExample/JsonParserExample.ino index 104b68a5..a6afd402 100644 --- a/examples/JsonParserExample/JsonParserExample.ino +++ b/examples/JsonParserExample/JsonParserExample.ino @@ -1,94 +1,94 @@ -/* -* malloc-free JSON parser for Arduino -* Benoit Blanchon 2014 - MIT License -*/ - -#include - -void ParseAnObject() -{ - char* json = "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}"; - - JsonParser<32> parser; - - Serial.print("Parse "); - Serial.println(json); - - JsonHashTable hashTable = parser.parseHashTable(json); - - if (!hashTable.success()) - { - Serial.println("JsonParser.parseHashTable() failed"); - return; - } - - char* name = hashTable.getString("Name"); - Serial.print("name="); - Serial.println(name); - - JsonArray skills = hashTable.getArray("Skills"); - Serial.println("skills:"); - for (int i = 0; i < skills.getLength(); i++) - { - char* value = skills.getString(i); - Serial.print(i); - Serial.print(" "); - Serial.println(value); - } - - int age = hashTable.getLong("Age"); - Serial.print("age="); - Serial.println(age); - - bool online = hashTable.getBool("Online"); - Serial.print("online="); - Serial.println(online); -} - -void ParseAnArray() -{ - char* json = "[[1.2,3.4],[5.6,7.8]]"; - - JsonParser<32> parser; - - Serial.print("Parse "); - Serial.println(json); - - JsonArray array = parser.parseArray(json); - - if (!array.success()) - { - Serial.println("JsonParser.parseArray() failed"); - return; - } - - for (int i = 0; i < array.getLength(); i++) - { - Serial.println(i); - - JsonArray innerArray = array.getArray(i); - - for (int j = 0; j < innerArray.getLength(); j++) - { - double value = innerArray.getDouble(j); - - Serial.print(" "); - Serial.print(j); - Serial.print("="); - Serial.println(value); - } - } -} - -void setup() -{ - Serial.begin(9600); - - ParseAnObject(); - ParseAnArray(); -} - -void loop() -{ - -} +/* +* malloc-free JSON parser for Arduino +* Benoit Blanchon 2014 - MIT License +*/ + +#include + +void ParseAnObject() +{ + char[] json = "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}"; + + JsonParser<32> parser; + + Serial.print("Parse "); + Serial.println(json); + + JsonHashTable hashTable = parser.parseHashTable(json); + + if (!hashTable.success()) + { + Serial.println("JsonParser.parseHashTable() failed"); + return; + } + + char* name = hashTable.getString("Name"); + Serial.print("name="); + Serial.println(name); + + JsonArray skills = hashTable.getArray("Skills"); + Serial.println("skills:"); + for (int i = 0; i < skills.getLength(); i++) + { + char* value = skills.getString(i); + Serial.print(i); + Serial.print(" "); + Serial.println(value); + } + + int age = hashTable.getLong("Age"); + Serial.print("age="); + Serial.println(age); + + bool online = hashTable.getBool("Online"); + Serial.print("online="); + Serial.println(online); +} + +void ParseAnArray() +{ + char[] json = "[[1.2,3.4],[5.6,7.8]]"; + + JsonParser<32> parser; + + Serial.print("Parse "); + Serial.println(json); + + JsonArray array = parser.parseArray(json); + + if (!array.success()) + { + Serial.println("JsonParser.parseArray() failed"); + return; + } + + for (int i = 0; i < array.getLength(); i++) + { + Serial.println(i); + + JsonArray innerArray = array.getArray(i); + + for (int j = 0; j < innerArray.getLength(); j++) + { + double value = innerArray.getDouble(j); + + Serial.print(" "); + Serial.print(j); + Serial.print("="); + Serial.println(value); + } + } +} + +void setup() +{ + Serial.begin(9600); + + ParseAnObject(); + ParseAnArray(); +} + +void loop() +{ + +}