2016-10-25 1 views
0

私のデータは、Googleスプレッドシートからフォーマットを以下に来ている:オブジェクトデータをJSON形式に変換してjaplotがチャートを生成できるようにするには?

Object {reporttime: "04-09-2016 0:00", msisdn: "9987579170", city: "NOIDA", product: "Advantage3000", ceiindex: "85"…} 

私はJSON形式に上記のデータを変換したい、例えば:

[[ 
    ['reporttime', "04-09-2016 0:00"],['msisdn', "9987579170"], ['city', 'NOIDA'],  
    ['product', 'Advantage3000'] 
  ]] 

私はjqplotを使用してグラフを作成しようとしています。 ERROR:データが指定されていません。

+0

いずれにしても、私はあなたが実際に欲しいものを想像してもあなたのサンプル「JSON形式は」、有効なJSONないオブジェクト(配列の配列)ではなく、JSONです。 'Object.keys()'と '.map()'では、オブジェクトのキーの順序が保証されていない点を除いて、変換は簡単です。 – nnnnnn

答えて

-1
var responseArr = []; 
for (var x in DataObj) { 
    var initArr = []; 
    initArr.push(x); 
    initArr.push(DataObj[x]); 
    responseArr.push(initArr); 
}; 

この出力は、別の配列にプッシュして、必要な形式を取得できます。入力オブジェクトをforループに渡します。

1

入力を次のように変換するマッパー関数が必要です。

出力のフィールドのみを選択するように更新しました。

var input = { 
 
    reporttime: "04-09-2016 0:00", 
 
    msisdn: "9987579170", 
 
    city: "NOIDA", 
 
    product: "Advantage3000", 
 
    ceiindex: "85", 
 
    product: 'Advantage3000' 
 
}; 
 

 
function mapper(input, requiredKeys) { 
 
    var output = Object.keys(input).map(function(key) { 
 
    if (input.hasOwnProperty(key) && requiredKeys.includes(key)) { 
 
     return [key, input[key]]; 
 
    } 
 
    }).filter(function(value) { 
 
    return value !== undefined; 
 
    }); 
 

 
    console.log(output); 
 
} 
 
var requiredKeys = ["city", "product", "reporttime"]; 
 
mapper(input, requiredKeys);

+0

私はこれを上記で提案しましたが、OPのサンプル出力にはすべての入力プロパティが含まれていないことに注意してください。 (彼らが意図的にそれをしたのかどうかわかりません...) – nnnnnn

+0

選択したフィールドを取る方法を変更しました – Sreekanth

+0

このコードはObject {reporttime: "04-09-2016 0:00"、msisdn: "9986983200" 、都市: "NOIDA"、製品: "Advantage3000"、ceiindex: "56" ...} – user3070796

関連する問題