Printable Version of Topic
Click here to view this topic in its original format
თბილისის ფორუმი > პროგრამირება > JSon ფაილის შექმნა და რედაქტორი


Posted by: MONTY 4 Aug 2019, 20:09

ge.json
de.json
usa.json
ცალკე ტექსტურ რედაქტორში კი შევქვნი მაგრამ მოუხერხებელია , ასევე რედაქტორში სტანდარტულ თარიღთან ერთად მინდა timestamp ფორმატიც ( რედაქტირებისთვის რო ვიცოდე რომელი რა თარიღია )
google sheeet დან ვიფიქრე მაგრამ მარტივი მეთოდი ვერ ვნახე
ანუ google sheets დან უნდა გამოიტანოს გაპარსული და შემდეგ სერვერზე გენერირება გააკეთოს სასურველ Json სტრუქტურაში
იცით რამე მარტივი მეთოდი ?

QUOTE
var country_data =
{"Canada": {
"1411948800": 15,
"1415577600": 30 },

"spain": {
"1415577600": 30  },

"geo": {
"1415577600": 15 },

"IT":
{ "1415577600": 29 },

"GR": {
"1411948800": 15,
"1415577600": 30  },
"Georgia": {
"1411948800": 30  },
"Gergmany": {
"1411948800": 30},
"Romania": {
"1411948800": 30  },
"USA": {
"1411948800": 15 }}


ეს ერთი ფორმატი რომელიც უნდა მივიღო Json ში
მეორე კი ანუ ge.json
QUOTE
var country_data =
{"georgia": {
"1411948800": 15,
"1415577600": 30 } }


ეს კი google sheets ში რომლიდანაც მინდა გენერირება JSon ფაილის
user posted image




Posted by: MONTY 8 Aug 2019, 19:53
Google Sheets ს json ს გაპარსვა მინდა
შემდეგ ამ ფორმატში ge.json გენერირება სერვერზე ავტომატურად განახლებით
QUOTE
{"interval": 86400, "id": "GE", "datapoints":
["1411948800": 15,
"1415577600": 30

]}


ანუ
ge.php რომელიც გაპარსავს და შემდეგ შექმნის ge.json ს , და ყველა ცვლილებას ავტომატურად გააკეთებს

გამოვა ?

Posted by: MONTY 16 Oct 2019, 03:52
ეს არავინ იცით თუ დახმარება არ გინდათ ? user.gif

Posted by: c2h5oh 16 Oct 2019, 10:16
python ში შეიძლება ჩალიჩი მარა აქ შენ სერვერს python ის მხარდაჭერა?

Posted by: MONTY 16 Oct 2019, 15:07
c2h5oh
QUOTE
python ში შეიძლება ჩალიჩი მარა აქ შენ სერვერს python ის მხარდაჭერა?

პითონი რატო ?

მარტივად
მაქვს google sheets json ( მონაცემები ) ანუ URL
მინდა ეს JSon ფაილში სერვერზე


{"interval": 86400, "id": "GE", "datapoints": --- ეს იქნება ge.json ში


QUOTE
["1411948800": 15,
"1415577600": 30

ეს კი უნდა ჩატვირთოს google sheets დან (განახლებით ) ge.json ში

]}


ანუ მარტივად
sheets url json = ge.json

Posted by: BLaCK-NeKR 17 Oct 2019, 09:24
ერთჯერადად გინდა გენერირება თუ ავტომატურ სერვისზე დასმა?

Posted by: DoomDev 17 Oct 2019, 12:51
MONTY

ვთქვათ გაქვს ჯეისონ ფაილი data.json შემდეგი შიგთავსით
CODE

{
   "name": "John",
   "age":21
}



php ით ამოვიკითხავ და დავააბდეითებ name პროპს

CODE


<?php


// წაიკითხავ ფაილს
$data = json_decode(file_get_contents("data.json"), true);

// მიანიჭებ მნიშვნელობას "name" prop-ს
$data['name'] = "Something";

// ენკოუდს გააკეთებ რომ ჯეისონ ფორმატში ჩაწეროს
$newContent = json_encode($data);
// ინახავ შეცვლილ მნიშვნელობას
file_put_contents("data.json", $newContent);

var_dump($data);



მიღებული შედეგი იქნება

CODE

{
   "name": "Someone",
   "age":21
}




არ ვიცი რამდენად პრაქტიკულია მთლიანი ფაილის გადაწერა გადმოწრა მაგრამ მეტი მე ვერაფერი მოვიფიქრე up.gif

უი ეხლა ვნახე პრობლემა google sheetis გაპარსვაა როგორც მივხვდი

https://www.youtube.com/watch?v=iTZyuszEkxI

ეს ცადე და ვერ გააკეთე?
ფაილში ჩაწერა კი დაგიწერე ზევით

Posted by: MONTY 17 Oct 2019, 14:09
user posted image

https://docs.google.com/spreadsheets/d/1HTK5t6gK0J5yM5GQwbx0oYB_zzkN9_UC4KZ76Umi_rU/edit#gid=0
https://spreadsheets.google.com/feeds/list/1HTK5t6gK0J5yM5GQwbx0oYB_zzkN9_UC4KZ76Umi_rU/1/public/values?alt=json


"gsx$date":{"$t":"01.13.2014"},"gsx$value":{"$t":"10"}},
"gsx$date":{"$t":"01.14.2015"},"gsx$value":{"$t":"10"}}

მაქვს ეს Json URL

და ესეთი მინდა

{"interval": 86400, "id": "GE", "datapoints":
["01.13.2014": 10,
"01.14.2015": 10,

]}
ge.json სერვერზე რომელიც sheets ს გაპარსავს და ამ ფორმატით მივიღებ ge.json ში
sheets ში ცვლილებისას ავტომატურად ნახლდება და Sheets ში განახლებული მინდა ავტომატურად დაემატოს ge.json შიც


BLaCK-NeKR
QUOTE
ერთჯერადად გინდა გენერირება თუ ავტომატურ სერვისზე დასმა?

ავტომატური ანუ google sheets დან ge.json ში


DoomDev
QUOTE
არ ვიცი რამდენად პრაქტიკულია მთლიანი ფაილის გადაწერა გადმოწრა მაგრამ მეტი მე ვერაფერი მოვიფიქრე

უი ეხლა ვნახე პრობლემა google sheetis გაპარსვაა როგორც მივხვდი

https://www.youtube.com/watch?v=iTZyuszEkxI

ეს ცადე და ვერ გააკეთე?
ფაილში ჩაწერა კი დაგიწერე ზევით


მაგდენი არ ვიცი ეგ რო გავაკეთო
კი Sheets ს გაპარსვაა და ეგ კი ადვილია ცალკე მაგრამ ის შედეგი რაც მინდა მაგდენი აღარ ვიცი .
როგორც ავხსენი ეგრე თუ გამოვა

Posted by: BLaCK-NeKR 17 Oct 2019, 15:46
კი, PHP-ით მარტივად გამოვა თუ გაქვს სერვერი

Posted by: MONTY 17 Oct 2019, 22:22
BLaCK-NeKR
QUOTE
კი, PHP-ით მარტივად გამოვა თუ გაქვს სერვერი

კი მაქვს ( ჰოსტი )

ერთი სიტყვით google json დან წამოღებული იქნება მარტო ეს
"01.13.2014": 10,
"01.14.2015": 10,


ge.json ში ეს იქნება სათაური (ფიქსირებული
{"interval": 86400, "id": "GE", "datapoints":

]}

და ესენი უნდა ჩაიწეროს ავტომატურად როგორც კი sheets Json ში დაემატება )

ეს შედეგი უნდა მქონდეს ge.json ში
{"interval": 86400, "id": "GE", "datapoints":
"01.13.2014": 10,
"01.14.2015": 10,
"01.15.2015": 10,
"01.16.2015": 10,
ა.შ
ა.შ
]}


მგონი მცოდნისთვის მარტივი ამოცანაა და თუ დამეხმარებით კარგი იქნება

Posted by: MONTY 29 Oct 2019, 02:24
არა ?
მცოდნისთვის მარტივი ამოცანაა sad.gif

Posted by: MONTY 22 Jan 2022, 02:15
QUOTE
ერთი სიტყვით google json დან წამოღებული იქნება მარტო ეს
"01.13.2014": 10,
"01.14.2015": 10,


ge.json ში ეს იქნება სათაური (ფიქსირებული
{"interval": 86400, "id": "GE", "datapoints":

]}

და ესენი უნდა ჩაიწეროს ავტომატურად როგორც კი sheets Json ში დაემატება )

ეს შედეგი უნდა მქონდეს ge.json ში
{"interval": 86400, "id": "GE", "datapoints":
"01.13.2014": 10,
"01.14.2015": 10,
"01.15.2015": 10,
"01.16.2015": 10,
ა.შ
ა.შ
]}


მგონი მცოდნისთვის მარტივი ამოცანაა და თუ დამეხმარებით კარგი იქნება


Posted by: Fennec 22 Jan 2022, 02:40
MONTY
ბევრი რომ არ იწვალო ეს სერვისი შეგიძლია გამოიყენე.... open source პროექტია...


შენი google sheet-ის ID-ს და sheet_name-ს უთითებ...
https://opensheet.elk.sh/1HTK5t6gK0J5yM5GQwbx0oYB_zzkN9_UC4KZ76Umi_rU/United%20Kingdom


თუ გინდა რომ საკუთარი სერვისი დაწერო Python-ში https://docs.gspread.org/en/latest/ შეგიძლია გამოიყენო.

Posted by: MONTY 22 Jan 2022, 22:19
Fennec

ეს მაქვს დაკოპირებული
https://www.akamai.com/visualizations/state-of-the-internet-report/ipv6-adoption-visualization

https://caucasusoffline.com/code/datatables2020.html

მონაცემები მაქვს (დაკოპირებული)
https://caucasusoffline.com/fetch-dv-data/ipv6/be.json
https://caucasusoffline.com/fetch-dv-data/ipv6/de.json
https://caucasusoffline.com/fetch-dv-data/ipv6/us.json

მინდა ეს გადავაკეთო ისე რომ , მონაცემები გამოიყენოს შიიტიდან ან მეორე ვარიანტია
გუგლი შიიტიდან შევინახო ფაილად be.json სერვერზე
ანუ
შიიტში თუ მაქვს
"01.13.2014": 10,
"01.14.2015": 10,

საიტზე json ფაილში მივიღო

"interval": 86400, "id": "BE", "datapoints":
"01.13.2014": 10,
"01.14.2015": 10,
"01.15.2015": 10,
"01.16.2015": 10,
ა.შ
ა.შ
]}

შიიტში თუ დაემატება
ავტომატურად დაემატოს be.json ფაილშიც

* * *
Fennec
მაქვს თითქმის იგივე სხვა კოდით ( ძველი ვერსია)
https://caucasusoffline.com/datatables.php

ქვეყნის მონაცემები არის ერთი ფაილიდან
https://caucasusoffline.com/data/1/country.json

QUOTE
var country_data =
{"Canada": {"1410048000": 0.417,  "1413676800": 0.441}, "East Timor": {"1410048000": 0.0,  "1418256000": 0.0, "1413676800": 0.0},
და სხვა ქვეყნების

ან პირველი
https://caucasusoffline.com/code/datatables2020.html
ან მეორე
https://caucasusoffline.com/datatables.php

მინდა გადავაკეთო ისე რომ google sheet დან წაიკითხოს მონაცემი
არ ვარ პროგრამისტი და ახალს ვერ დავწერ


Posted by: MONTY 27 Jan 2022, 19:01
user posted image
ესეთი Json ფორმატის შედეგი მინდა json ფაილში
google sheet დან ან ექსელიდან და როგორ ავაწყო ?
მარტივად sheets ში ქვეყანა/თარიღი/შედეგი, საიტზე არსებულ json ში შეიქმნას ესეთი ფორმატი და ავტომატურად ( 0-5-10-20 წუთში ) დაემატოს json ფაილში
ერთ ფაილში უნდა შეინახოს შედეგი რომელიც სურათზეა
ტექნიკურად მგონი google sheets - mysql- .json ც შეიძლება გაკეთდეს

Posted by: MONTY 4 Feb 2022, 23:45
ისევ არავინ ჩანს რომელიც დამეხმარება
არადა ამოცანა არაა რთული მცოდნისთვის
1. როგორი სტრუქტურით უნდა მქონდეს ექსელში
2. როგორი სტრუქტურით უნდა შევინახო ბაზაში
3. როგორ გამოვიტანო და სერვერზე შევინახო .json ფაილში სასურველი ფორმატით ანუ ესეთი ფორმატით

QUOTE
var country_data =
{"Canada": {
"15-02-2014": 15,
"16-02-2014": 16,
"30-03-2014": 56  },

"NO": {
"15-02-2014": 15,
"16-02-2014": 16,
"30-03-2014": 30  },

"SW": {
"15-02-2014": 15,
"30-03-2014": 39  },

"SP": {
"15-02-2014": 15
"16-02-2014": 16  },

"UK": {
"15-02-2014": 15,
"16-02-2014": 16,
"17-02-2014": 17,
"30-03-2014": 13  }}




აგერ მაქვს ცალკე google sheets დან გამოტანილი
user posted image

https://codepen.io/intprotest/pen/xxPEJOM


მაგრამ ამას ვერ ვიყენებ
ამის JSon ში შენახვაც ჩემთვის საჭირო ფორმატითაც იქნება შესაძლებელი და ბევრად მარტივი მეთოდიც იარსებებს mad.gif
* * *
QUOTE
functi0n exportSheetAsJSON() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var numCols = rows.getNumColumns();
  var values = rows.getValues();

  var output = '';
  output += '{"' + sheet.getName() + '" : {\n';
  var header = values[0];
  for (var i = 1; i < numRows; i++) {
    if (i > 1) output += ' , \n';
    var row = values[i];
    output += '"' + row[0] + '" : {';
    for (var a = 1; a < numCols; a++) {
      if (a > 1) output += ' ';
      output += '' + row[a] + '';
    }
    output += '}';
    //Logger.log(row);
  }
  output += '\n}}';
  Logger.log(output);

  DriveApp.createFile(sheet.getName() + '.json', output, MimeType.PLAIN_TEXT);
}



Apps Script ს კოდი ვნახე რომელიც sheet დან დრაივზე ინახავს Json ფაილად

user posted image

მაგრამ ესეთი სტრუქტურით არ მაწყობს mad.gif


Posted by: MONTY 6 Feb 2022, 15:45
stackoverflow ზე გამიკეთეს google Apps Script ს კოდი და მუშაობს

QUOTE


functi0n myJson() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('country');
  var [headers, ...rows] = sheet.getDataRange().getValues();
  var jsonString = `var ${sheet.getRange(1,1).getValue()} = ${JSON.stringify(data2json(headers, rows))}`
  Logger.log (jsonString)
}
functi0n data2json(headers, rows) {
  var obj = {},items = {};
  for (var i in rows) {
    obj = {};
    for (var col = 1; col < headers.length; col++) {
      if(rows[i][col]!='') obj[headers[col]] = rows[i][col];
    }
    items[rows[i][0]] = obj
  }
  return items;
  
}

user posted image

user posted image


JS ს მცოდნე წესით URL დანაც შეძლებს + საიტზე შენახვას Json ფორმატში


QUOTE
DriveApp.createFile(sheet.getName() + '.json', output, MimeType.PLAIN_TEXT);


ეს კოდი პირველ ვერსიაში მუშაობდა ანუ drive ზე ინახავდა json ფორმატში და ბოლო ვერსიას რო დავამატე აღარ მუშაობს


* * *


ესეც საბოლოო შედეგი apps Scripts კოდის
ქმნის Json ს და დრაივზე ინახავს
ეს კარგი იქნებოდა JS ში , Sheets ს URL დან საიტზე შენახვის ფუნქციით



CODE

functi0n myJson() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('YourSheetName');
 var [headers, ...rows] = sheet.getDataRange().getValues();
 var jsonString = `var ${sheet.getRange(1,1).getValue()} = ${JSON.stringify(data2json(headers, rows))}`
 var folders = DriveApp.getFoldersByName('YourFolderName');
 if (folders.hasNext()) {
   var folder = folders.next();
   saveData(folder, 'YourFileName.json',jsonString);
 }
}
functi0n data2json(headers, rows) {
 var obj = {},items = {};
 for (var i in rows) {
   obj = {};
   for (var col = 1; col < headers.length; col++) {
     if(rows[i][col]!='') obj[headers[col]] = rows[i][col];
   }
   items[rows[i][0]] = obj
 }
 return items;
}
functi0n saveData(folder, fileName, content) {
 var children = folder.getFilesByName(fileName);
 var file = null;
 if (children.hasNext()) {
   file = children.next();
   file.setContent(content);
 } else {
   file = folder.createFile(fileName, content);
 }
 Logger.log(file.getUrl())
}

Posted by: darkface 13 Feb 2022, 21:12
გთხოვ მომეცი ფაილი, და მისამართი საიდან რა მოგაქვს, და მითხარი მარტივად, სად რა დავხატო წამოღების და გაპარსვის შემდეგ.
რათ უნდა ამდენი ამბავი.

Posted by: MONTY 20 Feb 2022, 20:48
darkface

ეს მონაცემებია

user posted image

https://sheets.googleapis.com/v4/spreadsheets/1nL7QqnkeX1W8_YXsIcU7uQlMQjWrfBhd9nUck5RH0VI/values/test?alt=json&key=AIzaSyB5FsZ-XKEpJVPSmTbQhJPNMOIPYO8VmhU

Json ში არის გამომავალი
და ესეთი ფორმატით მინდა json ფაილად შენახვა საიტზე ,
sheets ში დამატებისას , json ფაილშიც რომ დაემატოს

QUOTE
var country_data =
{"Canada": {
"15-02-2014": 15,
"16-02-2014": 16,
"30-03-2014": 56  },

"NO": {
"15-02-2014": 15,
"16-02-2014": 16,
"30-03-2014": 30  },

"SW": {
"15-02-2014": 15,
"30-03-2014": 39  },

"SP": {
"15-02-2014": 15
"16-02-2014": 16  },

"UK": {
"15-02-2014": 15,
"16-02-2014": 16,
"17-02-2014": 17,
"30-03-2014": 13  }}



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)