0

C# を使用して JSON ファイルから値を取得し、それらをデータベースに入れています。私はJSONを初めて使用するので、JSONの操作方法についてあまり知りません。私が持っている構造と私がやろうとしていることを説明するために最善を尽くします. しかし、要約すると、SQL Where ステートメントで行うのと同様の方法で、JSON から変数を呼び出そうとしています。したがって、この他の値 = x であるこの値を取得します。

したがって、JSON 形式は次のようになります。まず、列を識別します。

"columns": [
    {
      "id": 8098453499733892,
      "index": 0,
      "title": "Task Name",
      "type": "TEXT_NUMBER",
      "format": ",,,,,,2,,,,,,,,,1",
      "primary": true,
      "width": 378
    },
    {
      "id": 780104105256836,
      "index": 1,
      "title": "KPI (RYG)",
      "type": "PICKLIST",
      "symbol": "RYG",
      "options": [
        "Red",
        "Yellow",
        "Green"
      ],.....

次に、その中の行とセル:

"id": 2157159933863812,
      "rowNumber": 2,
      "parentRowNumber": 1,
      "parentId": 7786659468076932,
      "expanded": false,
      "format": ",,1,,,,,,,22,,,,,,",
      "createdAt": "2015-03-04T15:58:28+13:00",
      "modifiedAt": "2015-03-04T15:58:32+13:00",
      "cells": [
        {
          "columnId": 8098453499733892,
          "type": "TEXT_NUMBER",
          "value": "GLH Toll MASTER FROM WEEK 47",
          "displayValue": "GLH Toll MASTER FROM WEEK 47",
          "format": ",,1,,,,2,,,22,,,,,,1"
        },
        {
          "columnId": 2750428942231428,
          "type": "CHECKBOX",
          "value": true,
          "format": ",,1,,,,,,,22,,,,,,"
        },

わかりましたので、例を示します。私がしたいのは、セルの columnID 値を取得し、それを使用して列のタイトル値を見つけることです。したがって、上記の例では、列の id が 8098453499733892 に等しい「タイトル」を検索すると、「タスク名」の結果が得られます。

これが可能かどうかさえわかりませんが、Web上で実際の例を見つけるのに苦労しています. 参考までに、私はスマートシートを使用しています。

4

2 に答える 2

1

JSON にこれらのプロパティを含む同等のオブジェクト/クラスを c# で作成する必要があります。JSON 構造に基づいて columnID 列を取得するには、以下のクラスを作成する必要があります。

class Class1 {
     public string id { get; set; }
     public int rowNumber { get; set; }
     public int parentId { get; set; }
     public bool expanded { get; set; }
     public string format{ get; set; }
     public List <Cells> cells {get; set;}
}

class Cells {
  public string columnId {get; set;}
  public string type{get; set;}
  public bool value{get; set;}
  public string format {get; set;}

}

Class1 オブジェクトを使用して API から JSON 文字列を逆シリアル化する必要があり、そこから必要な列にアクセスできます。

于 2015-03-13T03:05:39.037 に答える