Переглянути джерело

Arduino example are now compiling

Benoit Blanchon 11 роки тому
батько
коміт
699292b058

+ 20 - 33
examples/IndentedPrintExample/IndentedPrintExample.ino

@@ -3,41 +3,28 @@
  * Benoit Blanchon 2014 - MIT License
  */
 
-#include <JsonGenerator.h>
+#include <ArduinoJson.h>
 
-using namespace ArduinoJson::Generator;
+using namespace ArduinoJson::Internals;
 
-void setup()
-{
-    Serial.begin(9600);
-    
-    JsonObject<1> json;
-    json["key"] = "value";
-    
-    IndentedPrint serial(Serial);    
-    serial.setTabSize(4);
-    
-    serial.println("This is at indentation 0");
-    serial.indent();
-    serial.println("This is at indentation 1");
-    serial.println("This is also at indentation 1");
-    serial.indent();
-    serial.println("This is at indentation 2");
-    
-    serial.println("You can print JSON here, as usual:");
-    serial.println(json);
-    serial.println();
-        
-    serial.println("But you can also prettyPrint JSON here:");
-    json.prettyPrintTo(serial);  
-    serial.println();
-    
-    serial.unindent();
-    serial.unindent();
-    serial.println("This is back at indentation 0");
-}
+void setup() {
+  Serial.begin(9600);
+
+  IndentedPrint serial(Serial);
+  serial.setTabSize(4);
 
-void loop()
-{
+  serial.println("This is at indentation 0");
+  serial.indent();
+  serial.println("This is at indentation 1");
+  serial.println("This is also at indentation 1");
+  serial.indent();
+  serial.println("This is at indentation 2");
+
+  serial.unindent();
+  serial.unindent();
+  serial.println("This is back at indentation 0");
+}
 
+void loop() {
+  // not used in this example
 }

+ 40 - 29
examples/JsonGeneratorExample/JsonGeneratorExample.ino

@@ -1,32 +1,43 @@
-/*
- * Arduino JSON library - Generator example
- * Benoit Blanchon 2014 - MIT License
- */
-
-#include <JsonGenerator.h>
-
-using namespace ArduinoJson::Generator;
-
-void setup()
-{
-    Serial.begin(9600);
-
-    JsonArray<2> array;
-    array.add<6>(48.756080); // 6 is the number of decimals to print
-    array.add<6>(2.302038);  // if not specified, 2 digits are printed
-
-    JsonObject<3> root; 
-    root["sensor"] = "gps";
-    root["time"] = 1351824120;
-    root["data"] = array;
-
-    Serial.print(root); // {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
-
-    Serial.println();
-    root.prettyPrintTo(Serial); // same string indented
+// Copyright Benoit Blanchon 2014
+// MIT License
+//
+// Arduino JSON library
+// https://github.com/bblanchon/ArduinoJson
+
+#include <ArduinoJson.h>
+
+void setup() {
+  Serial.begin(9600);
+
+  StaticJsonBuffer<200> jsonBuffer;
+
+  JsonArray& array = jsonBuffer.createArray();
+  array.add(48.756080, 6);  // 6 is the number of decimals to print
+  array.add(2.302038, 6);   // if not specified, 2 digits are printed
+
+  JsonObject& root = jsonBuffer.createObject();
+  root["sensor"] = "gps";
+  root["time"] = 1351824120;
+  root["data"] = array;
+
+  root.printTo(Serial);
+  // This prints:
+  // {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
+
+  Serial.println();
+
+  root.prettyPrintTo(Serial);
+  // This prints:
+  // {
+  //   "sensor": "gps",
+  //   "time": 1351824120,
+  //   "data": [
+  //     48.756080,
+  //     2.302038
+  //   ]
+  // }
 }
 
-void loop()
-{
-
+void loop() {
+  // not used in this example
 }

+ 26 - 29
examples/JsonParserExample/JsonParserExample.ino

@@ -1,40 +1,37 @@
-/*
-* Arduino JSON library - Parser Example
-* Benoit Blanchon 2014 - MIT License
-*/
+// Copyright Benoit Blanchon 2014
+// MIT License
+//
+// Arduino JSON library
+// https://github.com/bblanchon/ArduinoJson
 
-#include <JsonParser.h>
+#include <ArduinoJson.h>
 
-using namespace ArduinoJson::Parser;
+void setup() {
+  Serial.begin(9600);
 
-void setup()
-{
-    Serial.begin(9600);
+  StaticJsonBuffer<200> jsonBuffer;
 
-    char json [] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
+  char json[] =
+      "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
 
-    JsonParser<16> parser;
+  JsonObject& root = jsonBuffer.parseObject(json);
 
-    JsonObject root = parser.parse(json);
+  if (!root.success()) {
+    Serial.println("parseObject() failed");
+    return;
+  }
 
-    if (!root.success())
-    {
-        Serial.println("JsonParser.parse() failed");
-        return;
-    }
+  const char* sensor = root["sensor"];
+  long time = root["time"];
+  double latitude = root["data"][0];
+  double longitude = root["data"][1];
 
-    char*  sensor    = root["sensor"];
-    long   time      = root["time"];
-    double latitude  = root["data"][0];
-    double longitude = root["data"][1];
-
-    Serial.println(sensor);
-    Serial.println(time);
-    Serial.println(latitude, 6);
-    Serial.println(longitude, 6);
+  Serial.println(sensor);
+  Serial.println(time);
+  Serial.println(latitude, 6);
+  Serial.println(longitude, 6);
 }
 
-void loop()
-{
-
+void loop() {
+  // not used in this example
 }

+ 8 - 0
library.properties

@@ -0,0 +1,8 @@
+name=ArduinoJson
+version=4.0
+author=Benoit Blanchon <http://blog.benoitblanchon.fr/>
+maintainer=Benoit Blanchon <http://blog.benoitblanchon.fr/>
+sentence=An efficient and elegant JSON library for Arduino
+paragraph=Supports JSON parsing and formatting. Uses fixed memory allocation.
+url=https://github.com/bblanchon/ArduinoJson
+architectures=*

+ 17 - 0
src/ArduinoJson.h

@@ -0,0 +1,17 @@
+// Copyright Benoit Blanchon 2014
+// MIT License
+//
+// Arduino JSON library
+// https://github.com/bblanchon/ArduinoJson
+
+// About this file
+// ---------------
+// This file is here to please the Arduino IDE. It must be present in the src/
+// for the IDE to find it. Feel free to ignore this file if your working in
+// another environment
+
+#include "../include/ArduinoJson/StaticJsonBuffer.hpp"
+#include "../include/ArduinoJson/JsonArray.hpp"
+#include "../include/ArduinoJson/JsonObject.hpp"
+
+using namespace ArduinoJson;