JSON数据解析(自写)

[50]void setup() {
  Serial.begin(115200);

   char chArray[50] = "some characters";
   String str(chArray);
  //           {"ledmode":2,"cr":135,"cg":00,"cb":234}
  //               2- 9       13-16    22-25  30-33
  String m=  "{\"ledmode\":245,\"cr\":135,\"cg\":010,\"cb\":234}";
  fenge(m,"ledmode");//分割调用
  
   fenge(m,"cr");//分割调用
 
    fenge(m,"cg");//分割调用
   
     fenge(m,"cb");//分割调用
}
 
void loop()
{  
 
}
 void fenge(String zifuchuan,String fengefu)
 {
  fengefu="\""+fengefu+"\""; 
  int weizhi_KEY; //找查的位置
  int weizhi_DH; 
  String temps;//临时字符串
 weizhi_KEY = zifuchuan.indexOf(fengefu);//找到位置
 temps=zifuchuan.substring( weizhi_KEY+fengefu.length(), zifuchuan.length());//打印取第一个字符
 weizhi_DH = weizhi_KEY+fengefu.length()+ temps.indexOf(',');//找到位置
 if( temps.indexOf(',')==-1){ 
  // weizhi_DH = weizhi_KEY+fengefu.length()+ temps.indexOf('}');//找到位置
 weizhi_DH = zifuchuan.length()-1;
  }
 temps="";
  temps=zifuchuan.substring( weizhi_KEY+fengefu.length()+1,  weizhi_DH);//打印取第一个字符
  Serial.println(temps);
   Serial.println("-----------------------------------------");

  }