void JsonParser::GenStrJsonValue(JsonValue& jsonValue, string value) { if(value[0] == '\'' || value[0] == '"') { if(value[0] == '\'') value = strtrim(value, string("'")); else if(value[0] == '"') value = strtrim(value, string("\"")); /* * STRING_VALUE 存入的时候会把周围的引号去掉 * 输出的时候统一成 "..." * 所以要把里面的引号转义 */ value = strreplace(value, "\\'", "'"); value = strreplace(value, "\\\"", "\""); value = strreplace(value, "\"", "\\\""); jsonValue.SetValueType(JsonValue::STRING_VALUE); } else if(IsNumChar(value[0]) || value[0] == '-' || value[0] == '+') { jsonValue.SetValueType(JsonValue::NUMBER_VALUE); } else if(value == "true" || value == "false") { jsonValue.SetValueType(JsonValue::BOOL_VALUE); } else if(value[0] == '/') { jsonValue.SetValueType(JsonValue::REGULAR_VALUE); } else { jsonValue.SetValueType(JsonValue::UNKNOWN_VALUE); } jsonValue.SetStrValue(value); }