Так что я читаю некоторые значения от датчика через SPI. Я уже преобразовал эти значения в строку (не знаю, должен ли я, но я что-то пытался). Теперь я не могу преобразовать их в формат json. Вот мой код:Как преобразовать строку в json-формат в C++?
#include "ad7490Spi.h"
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
string IntToString (int a2dVal)
{
ostringstream oss;
oss << a2dVal;
return oss.str();
}
int main(void)
{
ad7490Spi a2d("/dev/spidev0.0", SPI_MODE_0, 1000000, 16);
int i = 5;
int a2dVal = 0;
int a2dChannel = 0;
unsigned char data[3];
while(i > 0)
{
data[0] = 1; // first byte transmitted -> start bit
data[1] = 0b1000000000000000 |(((a2dChannel & 15) << 4)); // second byte transmitted -> (SGL/DIF = 1, D2=D1=D0=0)
data[2] = 0; // third byte transmitted....don't care
a2d.spiWriteRead(data, sizeof(data));
a2dVal = 0;
a2dVal = (data[1]<< 8) & 0b1100000000; //merge data[1] & data[2] to get result
a2dVal |= (data[2] & 0xff);
sleep(1);
i--;
string result = IntToString (a2dVal);
cout << " " + result + " ";
}
return 0;
}
Это результат:
1023 1023 1023 1023 1023
Я хочу, чтобы результат должен быть таким образом:
{
"values": [ "1023", "1023", "1023", "1023", "1023" ]
}
Можете ли вы, ребята, помочь мне с этим?
Ваш лучший выбор для всех, кроме самых тривиальных примеров, заключается в использовании библиотеки 'json'. –
Даже для тривиальных примеров используйте библиотеку json. – PaulMcKenzie