2017-04-04 15 views
0

私は残りのAPIを使用していますが、C++でcJSONのcライブラリを使用しています。cJSON - JSONの解析

これは私のC言語で

{ 
    "userEmail": "[email protected]", 
    "userPassword": "12345678" 
} 

私の体の要求の例である++プログラム私はこの(今その作業)のように、このJSONを受け取る:

cJSON *root; 

root = cJSON_CreateObject(); 

cJSON_AddStringToObject(root, "userEmail", userEmail.c_str()); 
cJSON_AddStringToObject(root, "userPassword", userPassword.c_str()); 

今、私は何かに私の体の要求を変更する必要があります次のようになります。

{ 
    "userInfo":{ 
     "userEmail": "[email protected]", 
     "userPassword": "12345678" 
    } 
} 

注:配列ではなく、jsonの 'セクション'です。私はcJSONライブラリを使って "userInfo"(メールとパスワード)の内容を取得するための解決策を見いだせない。手伝って頂けますか?

どうもありがとう

+0

私は "現代のC++でのJSON" のhttps://github.com/nlohmann/jsonをrecommandでしょう。それはヘッダーのみで使いやすく、開発は非常に活発です。 –

答えて

1
cJSON *root; 
cJSON *info; 

root = cJSON_CreateObject(); 

cJSON_AddItemToObject(root, "userInfo", info = cJSON_CreateObject()); 
cJSON_AddStringToObject(info, "userEmail", userEmail.c_str()); 
cJSON_AddStringToObject(info, "userPassword", userPassword.c_str()); 

cJSON Github Repository

+0

こんにちは。コメントをいただきありがとうございます。それはわたしを助ける。しかし、私は1つのことを書くことを忘れない。 私は、2つの文字列、userEmailとuserPassword ..を受け取る関数を持っています。今は体が電子メールとパスワードだけではないので、それはユーザー情報です... – Pik93

+0

オブジェクトを解析する方法を意味しない限り、同じパラメータを使用できるはずです。 'userInfo'は単なるラッパーオブジェクトです。内部の値を取得しますか? – sharyex

+0

私の関数は電子メールとパスワードを受け取って値を解析して表示することができますが、今はuserInfoが機能していないので、私の要求本文はnullです – Pik93