Mohammad Rahchamani
Mohammad Rahchamani

Reputation: 5220

Nodejs jsonArray parsing

I have a json object i want to get data from it! here is my json object

 "[androidVersionName=2.3.3, androidVersionId=10, androidId=fa0bef4b5a48eacb, mobileModel=sdk, mobileManufacturer=unknown, mobileId=GRI34, mobileProduct=sdk, applicationName=com.example.socketclient, applicationVersionName=1.0, applicationVersionCode=1, applicationState=INACTIVE, screenWidth=480, screenHeight=480, screenDensity=240, screenDensityName=hdpi, atdPackages=com.atd.panberes(1)]"

and here is my code :

 var json = JSON.parse(data);
 var androidVersionName = data.rowsets['androidVersionName'].row;
 console.log(androidVersionName);

and i get this error : Cannot read property 'androidVersionName' of undefined how can i parse data from this jsonObject?

Upvotes: 0

Views: 187

Answers (2)

Michal Brašna
Michal Brašna

Reputation: 2323

You can't parse it to object. But you can transform it to JS object.

var data = "[androidVersionName=2.3.3, androidVersionId=10, androidId=fa0bef4b5a48eacb, mobileModel=sdk, mobileManufacturer=unknown, mobileId=GRI34, mobileProduct=sdk, applicationName=com.example.socketclient, applicationVersionName=1.0, applicationVersionCode=1, applicationState=INACTIVE, screenWidth=480, screenHeight=480, screenDensity=240, screenDensityName=hdpi, atdPackages=com.atd.panberes(1)]";
var result = {};
data.replace(/(\w+)=(\w+)/g, function(_, left, right) { result[left] = right; })
console.log(result);

Upvotes: 2

Aurélien Thieriot
Aurélien Thieriot

Reputation: 5923

A valid JSON based on your object:

{
    "androidVersionName":"2.3.3",
    "androidVersionId":10,
    "androidId":"fa0bef4b5a48eacb",
    "mobileModel":"sdk",
    "mobileManufacturer":"unknown",
    "mobileId":"GRI34",
    "mobileProduct":"sdk",
    "applicationName":"com.example.socketclient",
    "applicationVersionName":1.0,
    "applicationVersionCode":1,
    "applicationState":"INACTIVE",
    "screenWidth":480,
    "screenHeight":480,
    "screenDensity":240, 
    "screenDensityName":"hdpi",
    "atdPackages":"com.atd.panberes(1)"
}

Upvotes: 2

Related Questions