Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nodejs-jsonArray解析_Json_Node.js - Fatal编程技术网

Nodejs-jsonArray解析

Nodejs-jsonArray解析,json,node.js,Json,Node.js,我有一个json对象,我想从中获取数据! 这是我的json对象 "[androidVersionName=2.3.3, androidVersionId=10, androidId=fa0bef4b5a48eacb, mobileModel=sdk, mobileManufacturer=unknown, mobileId=GRI34, mobileProduct=sdk, applicationName=com.example.socketclient, applicationVersion

我有一个json对象,我想从中获取数据! 这是我的json对象

 "[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 json = JSON.parse(data);
 var androidVersionName = data.rowsets['androidVersionName'].row;
 console.log(androidVersionName);
我得到了这个错误: 无法读取未定义的属性“androidVersionName”
如何解析来自此jsonObject的数据?

基于您的对象的有效JSON:

{
    "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)"
}

基于对象的有效JSON:

{
    "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)"
}

您无法将其解析为对象。但您可以将其转换为JS对象

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);

您无法将其解析为对象。但您可以将其转换为JS对象

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);

你的JSON对象实际上不是有效的JSON,如果它应该是object而不是string。我如何解析这种对象?你的JSON对象实际上不是有效的JSON,如果它应该是object而不是string。我如何解析这种对象?我已经将我的对象完全更改为你所说的!现在我如何从中解析数据呢;我应该这样做。如果您想确保一切正常,可以使用其中一个在线解析器:还要注意,您不能使用“rowset”访问JSON属性。在您的示例中,它将是“json.androidVersionName”。请查看我的代码和输出。代码:console.log(数据);var json=json.parse(数据);log(json.toString());var androidVersionName=data.androidVersionName;日志(androidVersionName);解析后必须使用的对象是“json”。不是“数据”。因此,获取AndroidVersionId的正确方法是:var androidVersionName=json.androidVersionName;我已经完全按照你说的改变了我的目标!现在我如何从中解析数据呢;我应该这样做。如果您想确保一切正常,可以使用其中一个在线解析器:还要注意,您不能使用“rowset”访问JSON属性。在您的示例中,它将是“json.androidVersionName”。请查看我的代码和输出。代码:console.log(数据);var json=json.parse(数据);log(json.toString());var androidVersionName=data.androidVersionName;日志(androidVersionName);解析后必须使用的对象是“json”。不是“数据”。因此,获取AndroidVersionId的正确方法是:var androidVersionName=json.androidVersionName;