職場で Asana を使用していくつかの機能を自動化するプログラムを作成していますが、少し行き詰っています。複数のタスクをワークスペースに送信し、それぞれのタスク ID を取得することはできますが、応答の ID 部分のみを取得して C# の配列またはリストに格納する方法を考えていました。
GET からの応答/tasks?workspace=<workspace-id>&assignee=me
は次のとおりです。
{"data":[{"id":2177890732156,"name":"<name of my task>"}]}
すべてのタスクの ID 番号を配列に格納して、それぞれに addProject PUT を実行できるようにします。
シリアライザーを使用してデータ要素を POST 用の適切な辞書に入れていますが、それを逆にして応答の int 部分のみを解析し、それを配列に格納して呼び出す方法があるかどうか疑問に思っています。
シリアライザのコードは次のとおりです。
public static string GetJsonByObject(object _object)
{
/// Serialize to JSON
DataContractJsonSerializer serializer = new DataContractJsonSerializer(_object.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, _object);
return Encoding.Default.GetString(ms.ToArray());
}
次のように、リクエストをバイト配列に格納しています。
string content;
content = GetJsonByObject(t);
bArrContent = Encoding.UTF8.GetBytes(content);
request.GetRequestStream().Write(bArrContent, 0, bArrContent.Length);
request.GetRequestStream().Close();