File indexing completed on 2024-04-28 03:50:26
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2008 Shashank Singh <shashank.personal@gmail.com> 0004 // 0005 0006 #include "jsonparser.h" 0007 0008 jsonParser::jsonParser() 0009 { 0010 myEngine.setProcessEventsInterval(10);//this lets the gui remain responsive 0011 } 0012 0013 jsonParser::~jsonParser() 0014 { 0015 } 0016 0017 twitterDataStructure jsonParser::parseObjectOnPosition(const QString &content , int requiredObjectPosition) 0018 { 0019 return dataStorage; 0020 } 0021 0022 QList <twitterDataStructure> jsonParser::parseAllObjects(const QString &content , int numberOfObjects) 0023 { 0024 QString temp = QLatin1String("var myJSONObject = { \"twitter\":") + content + QLatin1Char('}'); 0025 int iterator = 0;//the count starts fom one 0026 if (temp != QLatin1String("Twitter is down for database maintenance. It will return in about 30 minutes")) 0027 { 0028 myEngine.evaluate(QString("function userName(k){return myJSONObject.twitter[k].user.name};")); 0029 myEngine.evaluate(QString("function userLocation(k){return myJSONObject.twitter[k].user.location};")); 0030 myEngine.evaluate(QString("function userText(k){return myJSONObject.twitter[k].text};")); 0031 0032 myEngine.evaluate(temp); 0033 while ((iterator) < numberOfObjects) { 0034 myEngine.evaluate(QString("var a ="+QString::number(iterator) )).toString(); 0035 dataStorage.user=myEngine.evaluate(QString("userName(a)")).toString(); 0036 dataStorage.location=myEngine.evaluate(QString("userLocation(a)")).toString(); 0037 dataStorage.text=myEngine.evaluate(QString("userText(a)")).toString(); 0038 0039 parsedJsonOutput.insert(iterator , dataStorage); 0040 0041 ++iterator; 0042 } 0043 } 0044 else 0045 { 0046 //twitter is down :( 0047 dataStorage.user="@Twitter Plugin"; 0048 dataStorage.location="Equator"; 0049 dataStorage.text="Twitter is down , Please try in 30 minutes " ; 0050 parsedJsonOutput<<dataStorage; 0051 0052 } 0053 return parsedJsonOutput; 0054 } 0055 0056 googleMapDataStructure jsonParser::geoCodingAPIparseObject(QString content) 0057 { 0058 mDebug() << "in geoCodingAPIparseObject"; 0059 QString temp = QLatin1String("var myJSONObject = ") + content; 0060 0061 googleMapDataStructure returnStructure; 0062 myEngine.evaluate("function lat(){return myJSONObject.Placemark[0].Point.coordinates[0]}"); 0063 myEngine.evaluate("function lon(){return myJSONObject.Placemark[0].Point.coordinates[1]}"); 0064 myEngine.evaluate(temp); 0065 0066 returnStructure.lon = myEngine.evaluate("lon()").toNumber(); 0067 returnStructure.lat = myEngine.evaluate("lat()").toNumber(); 0068 mDebug() << "twitter lan lon text=" << returnStructure.lat << returnStructure.lon; 0069 return returnStructure; 0070 } 0071 0072