QJsonObject classname::json_for_array(QByteArray data)
{
QByteArray temp=data;
QByteArray::Iterator begin=temp.begin();
QByteArray::Iterator end=temp.end();
QJsonObject json;
bool f_key=1;
bool f_value=0;
QByteArray arr_key,arr_value;
while (begin!=end) {
if(*begin==‘\r’||*begin==‘\0’) //‘\r’或者’\0’结束转换
{
json.insert(QString::fromLatin1(arr_key),QString::fromLatin1(arr_value));
break;
}
if(*begin==’ ‘)
begin++;
if(*begin==’,')
{
f_key=1;f_value=0;
json.insert(QString::fromLatin1(arr_key),QString::fromLatin1(arr_value));
arr_key.clear();
arr_value.clear();
begin++;
continue;
}
if(*begin=='=')
{
f_key=0;f_value=1;
begin++;
continue;
}
if(f_key&&!f_value)
{
arr_key.append(*begin);
}
if(!f_key&&f_value)
{
arr_value.append(*begin);
}
begin++;
}
return json;
}