cjsonesp8266nodeMCU
ÏÐÑÔËéÓïÐÂÄêµÚÒ»¸ü¡£±¾À´ÕâһƪÎÄÕÂÓ¦¸ÃÊǼÌÐø½²u8glibÄ£¿éµÄ¡£¿Éϧ£¬oledÄ£¿é¹ÒÁË£¬Ã»·¨ÑéÖ¤´úÂ룬×ÔÈ»ÎÄÕÂû·¨Ð´ÏÂÈ¥¡£ÄǾÍÏÈÔÝʱǷ×ÅÕâôһƪÎÄÕºÃÁË£¬µÈÓÐoledÆÁÔÙ¼ÌÐøË®¡£
ÕâƪÎÄÕ´òËã˵һ¸ö¼«Æä¼òµ¥µÄÄ£¿é¡ª¡ªcjsonÄ£¿é¡£Õâ¸öÄ£¿é¿ÉÒÔ°ïÖúÎÒÃǽ«tableÊý¾ÝÀàÐÍת»»³Écjson¸ñʽ¡£Òà»ò½«cjson¸ñʽת»»³ÉtableÊý¾ÝÀàÐÍ¡£
Ä£¿éº¯ÊýcjsonÄ£¿éµÄº¯ÊýÖ»ÓÐ2¸ö£¬ÕæµÄÏ൱µÄ¼òµ¥¡£ ÄÇÄ㻹ˮʲôÎÄÕ£¬ÓÖÀ´Æ×ÖÊý£¡
ÐòºÅ º¯ÊýÃû ²ÎÊý ·µ»ØÖµ
1 table string£¨json£©
2 string£¨json£© table
ʵ¼ùÒ»ÏÂÏÈ¿´±àÂ룬.encode()º¯Êý¿ÉÒÔ½«tableת»»³Éjson£¬Ò²¿ÉÒÔ½«Êý×Ö»òÕß×Ö·û´®×ª³Éjson¡£»¹ÓÐÒ»µãҪעÒ⣬ǶÌ×µÄtableÔÚת»»µÄʱºòÐèÒª»¨·Ñ½Ï¶àµÄÄÚ´æ¡£ÎĵµÖн¨ÒéʹÓÃpcallÀ´µ÷ÓÃÕâ¸öº¯Êý¡£
ledtable = {} ledtable.ledR="100" ledtable.ledB="50" ledtable.ledG="150" ok, json = pcall(cjson.encode, ledtable) if ok then print(json) else print("failed to encode!") end
encode
ÕâÀï´´½¨Ò»¸öledtableµÄtable±äÁ¿£¬²¢¶ÔÆ丳ֵ¡£È»ºóʹÓÃ.encode()½«Õâ¸ötableת»»³Éjson¡£Èç¹ûת»»³É¹¦£¬Ôò½«Æä´òÓ¡³öÀ´¡£
½Ó×ÅÔÙÀ´¿´¿´½âÂ룬.decode()µÄЧ¹ûºÍ.encode()Ïà·´¡£¾ßÌåÕâôÓã¬Ö±½Ó¿´¸ö´úÂë¡£ÔÚÉÏÃæµÄ´úÂëÖмÓÈëÏÂÃæµÄ´úÂë¼´¿É¡£
t = cjson.decode(json) for k, v in pairs(t) do print(k, v) end
decode
cjsonÄ£¿éËäÈ»ÓÃÆðÀ´ºÜ¼òµ¥¡£²»¹ý£¬»¹ÊÇÓÐÏ൱´óµÄÓÃÎäÖ®µØµÄ¡£ÏÖÔÚÎïÁªÍøͨÐÅÖУ¬Ê¹ÓÃjson×öÊý¾Ý½»»¥Ò²ÊǼû¹Ö²»¹ÖÁË¡£±ÈÈç˵nodemcu×ö¿ØÖÆledµÆ¡¢¼ÌµçÆ÷µÈÉ豸£¬µ±·þÎñÆ÷Ïë¸Ä±äledµÄ״̬»òÕßÑÕÉ«¡¢¿ª¹Ø¼ÌµçÆ÷¶¼¿ÉÒÔÓùýjsonÀ´Í¨ÐÅ¡£¼Æ»®ÔÚдÍêÕâ¸öϵÁкó£¬Ð´Ò»¸öÏà¶Ô×ÛºÏÒ»µãµÄʵ¼ùϵÁУ¬Ã¿¸öÀý×Ó²»ÉÙÓÚ5¸ö¹¦ÄÜÄ£¿é¡£ÖÁÓÚдЩʲô£¬ÔÝʱûÏëºÃ¡£Ò²Ðí¿ÉÒÔGoogleһϣ¬Íá¹ûÈÊÔõôÍæ
Ò»µãluaÓï·¨pcallÊÇluaÌṩµÄÒ»¸öÓÃÓÚ´íÎó´¦ÀíµÄº¯Êý£¬µÚÒ»¸ö²ÎÊý±íʾҪµ÷Óõĺ¯Êý¡£¾ßÌåÓ÷¨»¹ÐèÒª¶ÁÕß×Ô¼º°Ù¶È[ÎæÁ³]¡£
¸ü¶àÄÚÈÝ¡ü µã»÷ÉÏÃæµÄ±êÌâ¿ÉÓò鿴ͬÎļ¯µÄÆäËüÎÄÕ¡£
¡¡