2013-07-31 5 views
0

J'ai des données JSON provenant de la base de données dynamique, voir ci-dessous:Comment extraire de JSON pour créer un nouveau fichier JSON

[["15","0.027","0.137","0.353","0.044","0.111","0.024","2013-07-30 17:45:06"],["17","0.027","0.137","0.353","0.044","0.111","0.024","2013-07-30 17:50:14"],["19","0.017","0.137","0.353","0.044","0.111","0.024","2013-07-30 17:55:35"],["21","0.017","0.137","0.353","0.044","0.111","0.024","2013-07-30 18:00:34"],["23","0.017","0.137","0.353","0.044","0.111","0.024","2013-07-30 18:05:10"],["25","0.017","0.137","0.353","0.044","0.111","0.024","2013-07-30 18:10:07"] and so on.. 

si la structure se présente comme suit [time1, time2, time3, time4, time5, time5, time7, TimeStamp]

Ce que je dois réaliser est de se retrouver avec 7 nouveaux JSONs pour avoir une structure comme suit:

json1 = [time1,TimeStamp] 
json2 = [time2,TimeStamp] 
json3 = [time3,TimeStamp] 
json4 = [time4,TimeStamp] 
and so on.. 

je besoin de ceci pour mettre en œuvre dans jQPLot Can d'aider quelqu'un s'il vous plaît? Merci

+1

Note de terminologie, rien de ce que vous avez là n'est JSON. Tout est juste des tableaux JS. –

+0

c'est json_encode ($ data) provenant du fichier php. Pouvez-vous aider cependant? Merci beaucoup – medzi

+0

Ce que Rory veut dire, c'est que le format JSON est différent, il est entouré de {} et beaucoup d'autres règles. Ce que vous avez eu est un tableau JS. Si vous voulez obtenir une réponse correcte, il est préférable d'avoir une bonne terminologie. Beaucoup de gens n'obtiendront pas ce que vous voulez dire même s'ils connaissent la réponse. Et la solution est probablement la réponse ici par Scorchio. – Chilpol

Répondre

0

Cochez cette (vous pouvez trouver un ready-to-play jsfiddle here):

// Creates a new array from the items array with the item 
// for the given index and with the last item (timestamp). 
function timeNFromItems(items, index) { 
    return [items[index], items[items.length - 1]]; 
} 

// Loop over each time index, so that from: 
// [time1, time2, time3, time4, time5, time6, time7, timestamp] 
// ...the following is printed out: 
// time1, timestamp 
// time2, timestamp 
// [...] 
// time7, timestamp 
function timesFromItems(items) { 
    numberOfTimes = 7; 
    result = ""; 
    for (var i = 0; i < numberOfTimes; ++i) { 
     result += timeNFromItems(items, i) + "\n"; 
    } 
    return result; 
} 

sample = [ 
    ["15", "0.027", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 17:45:06"], 
    ["17", "0.027", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 17:50:14"], 
    ["19", "0.017", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 17:55:35"], 
    ["21", "0.017", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 18:00:34"], 
    ["23", "0.017", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 18:05:10"], 
    ["25", "0.017", "0.137", "0.353", "0.044", "0.111", "0.024", "2013-07-30 18:10:07"] 
]; 

alert(timesFromItems(sample[0])); 

La première fonction obtient une paire donnée pour une « ligne », la seconde boucles un peu plus pour obtenir toutes les paires.

+0

Un grand merci, ça marche :) – medzi

Questions connexes