JSON Parse Object Failed only with Particle Call

If I hard coded:

args="{“d”:[0,1,0,1,1,1,1],“p”:[0,1,100,120,12,00,11,30]}" everything works but when I send the string with a particle functions call the same string:

"{“d”:[0,1,0,1,1,1,1],“p”:[0,1,100,120,12,00,11,30]}"
parseObject() failed error.

Do I need to send quotes and back slashes? I tried all possible combo but still failing.

int parseJSON(String args){

Serial.println("length: ");
Serial.println(strlen(args));

char json[strlen(args)];
strcpy(json,args);
Serial.println(json);

StaticJsonBuffer<2000> jsonBuffer;
//char json[] = “{“name”:“gps”,“time”:1351824120,“data”:[1,1,1.00,55,0],“data2”:[1,1,1.00,55,0]}”;

JsonObject& root = jsonBuffer.parseObject(json);

if (!root.success()) {
Serial.println(“parseObject() failed”);
return -1;
//return -1;
}

…continues

}

you need room for a null terminator in your char array

char json[strlen(args) + 1];

the length of a String is

myString.length()

Thanks.