mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added a note to avoid issue #10
This commit is contained in:
		| @@ -101,6 +101,33 @@ or | ||||
|     JsonObject<8> nestedObject; | ||||
|     array.add(nestedObject); | ||||
|  | ||||
| > ##### CAUTION! Nested objects must be in memory | ||||
| > Calling `add()` makes the `JsonArray` store a pointer to the nested object. | ||||
| > This is designed to avoid memory duplication. | ||||
| > But it can only work if the object is in memory when `printTo()` is executed. | ||||
| > For instance, don't do this: | ||||
| >  | ||||
| >     void addNestedObject() | ||||
| >     { | ||||
| >         JsonObject<2> nestedObject; | ||||
| >         // ... | ||||
| >         array.add(nestedObject); // <- DON'T !! | ||||
| >          | ||||
| >         // array now contains a pointer to a local variable that will be | ||||
| >         // discarded as soon as the function exits  | ||||
| >     }  | ||||
| >      | ||||
| > For the same reason, don't do this either: | ||||
| >  | ||||
| >     for( int i=0; i<100; i++) | ||||
| >     { | ||||
| >         JsonObject<2> nestedObject; | ||||
| >         // ... | ||||
| >         array.add(nestedObject); // <- DON'T !! | ||||
| >     }   | ||||
| >     // array now contains 100 pointers to the same a local variable | ||||
| >     // that is out of the scope anyway | ||||
|  | ||||
| #### JSON Object | ||||
|  | ||||
| You create a JSON object (ie hash-table/dictionary) with the following line: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user