2017-08-06 128 views
0

我用的NodeJS這個代碼從JSON數據,但得到的錯誤說未定義我想分析與的NodeJS這個JSON數據,但得到錯誤未定義

var obj = {payload:'fp_2'}; 
 
var myJSON = JSON.stringify(obj); 
 
console.log(myJSON.payload); //output: undefined

和我有相同的錯誤在JavaScript

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<p id="demo"></p> 
 

 
<script> 
 

 
var obj = {payload:'fp_2'}; 
 
var myJSON = JSON.stringify(obj); 
 
document.getElementById("demo").innerHTML = myJSON.payload; 
 

 
</script> 
 

 
</body> 
 
</html>

我的錯誤是什麼?任何人都可以幫助我......

+0

JSON.stringify()的'結果'只是一個簡單的字符串;沒有「有效載荷」屬性。你可以檢查'obj.payload',因爲這是有道理的。一旦你'.stringify()'它不過你只有一個字符串。沒有必要「解析」用對象初始化表達式聲明的對象;該對象已經存在並準備好使用。 – Pointy

+0

你知道'JSON.stringify(obj)'是做什麼的嗎?它將對象串聯起來。它返回一個字符串。如果您只需要'有效載荷'屬性,則不需要串聯。 – PeterMader

+0

是的我知道,我使用nodejs我已經使用obj.payload但不工作,並得到這個錯誤「TypeError:無法讀取屬性'有效載荷'undefined 在receivedMessage(/ home/ubuntu/workspace/index。js:535:20)「 –

回答

0

在你的例子中會發生什麼,你正試圖從一個沒有這種屬性的字符串中獲取屬性「payload」。 方法JSON.stringify()從任何給定的對象創建字符串,所以你的自定義對象的屬性「有效載荷」被轉換爲JS字符串對象,它不再有了。

這是屬性的列表中,JS字符串有:

  • 構造
  • 長度
  • 原型

你可以找到每個屬性的定義和了解更多關於字符串JS與此鏈接:W3 Schools JS string

如果你想使用「有效載荷」來自你的自定義對象,你不需要JSON.stringify()它。只要使用它:

var obj = {payload:'fp_2'}; 
console.log(obj.payload); 

// Or in your html example 
var obj = {payload:'fp_2'}; 
document.getElementById("demo").innerHTML = obj.payload; 
+0

是的我知道,我使用nodejs我已經使用obj.payload但不工作,並得到這個錯誤」TypeError:無法讀取屬性'payload'undefined在receivedMessage(/ home/ubuntu/workspace/index .js:535:20)「 –

+0

@PawanOsman你能舉出代碼的例子嗎,它給你TypeError obj爲undefined? – Mark

0

obj已經對象,你可以

var obj = {payload:'fp_2'}; 
console.log(myJSON.payload); 

解析字符串對象使用JSON.parse

var str = '{"payload": "fp_2"}'; 
var myJSON = JSON.parse(str); 
console.log(myJSON.payload); 

JSON.stringify用於obejct轉換爲字符串

var obj = {payload:'fp_2'}; 
var str = JSON.stringify(obj); 
console.log(str); 
// {"payload":"fp_2"} 
+0

我使用nodejs我已經使用obj.payload但不工作,並得到這個錯誤」TypeError:Can not read property'有效載荷'未定義在receivedMessage(/home/ubuntu/workspace/index.js:535:20)「 –

0

寫這篇文章的

的NodeJS
var obj = {payload:'fp_2'}; 
console.log(obj.payload); 

寫這個腳本文件

<script> 

var obj = {payload:'fp_2'}; 
document.getElementById("demo").innerHTML = obj.payload; 

</script> 
+0

我使用nodejs我已經使用obj.payload但不工作,並得到這個錯誤」TypeError:無法讀取屬性'有效載荷' undefined at receivedMessage(/home/ubuntu/workspace/index.js:535:20)「 –

+0

這個錯誤發生在你定義了變量但沒給它賦值時你試圖訪問值 –

+0

但我知道這個有效載荷variabl e有一個值,等於「fp_2」我想得到它但得到這個錯誤。我的json數據來自請求。我有消息機器人我想檢測快速回復有效載荷。我得到的QrPayload變量等於「{payload:'fp_2'}」但是當我使用QrPayload.payload得到那個錯誤 –

相關問題