如何获取 JSON stringify 的错误消息?

     2023-02-27     61

关键词:

【中文标题】如何获取 JSON stringify 的错误消息?【英文标题】:How to get the error message for JSON stringify? 【发布时间】:2016-06-07 19:49:33 【问题描述】:

假设我有一个这样的对象

var obj = 
"name": "arun"
age

当我尝试 JSON.stringify(obj) 时,我会收到一个错误,因为 obj 不正确。我想捕获控制台中显示的错误并将其显示在 UI 中。

stringify 函数有没有回调功能,这样我就可以做上面的事情了?

【问题讨论】:

***.com/questions/6041741/… 为什么不使用 try catch? ***.com/questions/4467044/… 【参考方案1】:

首先认为有syntax error,在"name": "arun"之后需要添加,

我们无法以编程方式获取语法错误。 纠正这个语法错误后,你可以这样检查

try

   var obj = 
     "name": "arun",
     age
   

  catch(e)
   console.log(e);// you can get error here

【讨论】:

【参考方案2】:

在这里,您不会从 JSON.stringify 中得到错误。

一旦你尝试创建这个对象,你就会得到一个错误。

var obj = 
  name: "Arun"  // you're missing a comma
  age //this is valid, as long as `age` exists as a variable above this point, in new browsers
;

在所有浏览器中,只要你运行这部分脚本,它就会抛出一个 SyntaxError,因为你缺少逗号。

如果您重新添加了该逗号,并且上面确实存在 age

var age = 32;
var obj = 
  name: "Arun",
  age
;

这现在可以在全新的浏览器中正常工作,但在旧浏览器中会再次引发 SyntaxError。

该对象的旧兼容版本如下所示:

var age = 32;
var obj = 
  name: "Arun",
  age: age
;

您遇到的问题似乎不是.stringify 会崩溃。 根据您提供的对象,您的陈述是错误的,句号。

【讨论】:

我知道对象有问题,我想验证那个有问题的 json 对象并告诉对象的第 3 行有一个错误。有什么办法吗? @ArunMohan 如果您在 JavaScript 中声明它,它不是 JSON 对象。 var obj = ]; 不是 JSON,它是 JS。它会在您尝试将其放入stringify 之前爆炸。如果您将其下载为 JSON 文本,那是非常不同的事情,然后您不会使用 stringify,而是使用 parse 将字符串转换为 JS 对象。你是什​​么意思?【参考方案3】:

你可以试试下面的方法:

var age = 34;
ar obj =  name: "arun", age 
console.log(JSON.stringify(obj));

【讨论】:

如何 JSON.stringify 对象数组

】如何JSON.stringify对象数组【英文标题】:HowtoJSON.stringifyanarrayofobjects【发布时间】:2016-05-0700:44:08【问题描述】:我正在尝试JSON.stringify()以下键/值对,其中值是对象数组。varstring=JSON.stringify(onlineUsers:getUsersInRoom(users,room));这是... 查看详情

如何将 JSON.stringify 显示为 HTML 作为值

】如何将JSON.stringify显示为HTML作为值【英文标题】:HowtodisplayJSON.stringifytoHTMLasvalues【发布时间】:2021-11-2520:52:56【问题描述】:我尝试使用json获取数据,并且它按我的意愿工作。但问题是如何在我的页面或HTML上显示它?我得到... 查看详情

循环引用阻止 jsonwebtoken.sign JSON.stringify 的原因

】循环引用阻止jsonwebtoken.signJSON.stringify的原因【英文标题】:Circularreferenceblocksjsonwebtoken.signcauseofJSON.stringify【发布时间】:2017-03-2003:28:06【问题描述】:我正在使用Express和Sequelize进行基于uponthistutorial的基本用户身份验证当我... 查看详情

如何删除嵌套的 JSON.stringify() 属性

】如何删除嵌套的JSON.stringify()属性【英文标题】:HowtoremovenestedJSON.stringify()properties【发布时间】:2017-08-2618:05:38【问题描述】:我正在尝试使用Typescript修改字符串。该字符串由JSON.stringify()方法创建。我想删除"inputPort"的属性"id... 查看详情

在nodejs中object的tostring()方法querystring的stringify()json.stringify()

刚学nodejs,做到一个例子:发送简单的HTTP请求。遇到一个问题,客户端给服务端发送的消息到服务端,服务端收不到消息,确切的说是“”。以下是服务端代码:server.jsconsthttp=require("http");constqs=require("querystring")http.createServer(funct... 查看详情

WebSocket 是如何压缩消息的?

】WebSocket是如何压缩消息的?【英文标题】:HowdoesWebSocketcompressmessages?【发布时间】:2013-10-1809:12:08【问题描述】:JSON.stringify显然不是很节省空间。例如,[123456789,123456789]占用20+个字节,而它可能只需要大约5个字节。websocket在... 查看详情

如何 JSON.stringify 嵌套的对象数组 [关闭]

】如何JSON.stringify嵌套的对象数组[关闭]【英文标题】:HowtoJSON.stringifyannestedarrayofobjects[closed]【发布时间】:2020-07-1907:12:57【问题描述】:这是我的数据,data="SeatingArrangement":["data":["id":1,"rowName":"a","seatNo":0,"id":2,"rowName":"a","seatNo": 查看详情

如何将有关从通道获取的消息的信息放入 JSON 文件?

】如何将有关从通道获取的消息的信息放入JSON文件?【英文标题】:HowdoIputinfoaboutmessagesfetchedfromthechanneltoaJSONfile?【发布时间】:2019-12-1210:02:25【问题描述】:所以我想从特定频道获取所有嵌入消息,并在其描述中写入标签。我... 查看详情

与 javascript 日期相比,Json Stringify 日期产生错误的日​​期

...stringify并将其发送到服务器时,我得到两个不同的日期。stringified日期总是晚一天。所以目前我将我的jav 查看详情

如何显示 JSON 错误消息?

】如何显示JSON错误消息?【英文标题】:HowtodisplayaJSONerrormessage?【发布时间】:2011-06-0500:55:18【问题描述】:我目前正在开发一个tumblr主题并构建了一个使用TumblrAPI执行以下操作的jQueryJSONthingamabob:用户会点击“帖子类型”链... 查看详情

JSON.stringify 抛出错误

】JSON.stringify抛出错误【英文标题】:JSON.stringifythrowserror【发布时间】:2011-12-2717:49:20【问题描述】:varProducts=[id:0,product:\'SourApple\',price:10,count:1,product_thumb:\'resources/css/apple.png\',id:1,product:\'30dsfdf\',price:20,coun 查看详情

AFNetworking/Overcoat/Promisekit - 在错误消息中获取返回 json

】AFNetworking/Overcoat/Promisekit-在错误消息中获取返回json【英文标题】:AFNetworking/Overcoat/Promisekit-gettingthereturnjsonintheerrormessage【发布时间】:2015-04-2418:10:22【问题描述】:我正在使用AFNetworking、Overcoat和Promisekit。我想查看从服务器... 查看详情

从 Zend_Form 获取错误消息并作为 json 响应

】从Zend_Form获取错误消息并作为json响应【英文标题】:GeterrormessagesfromZend_Formandresponseasjson【发布时间】:2012-07-2903:57:11【问题描述】:我正在尝试。获取Zend_Form错误并以json格式回复的最佳实践是什么?<?classSomeControllerextendsZe... 查看详情

AJAX POST 上的 JSON Stringify 400 错误请求

】AJAXPOST上的JSONStringify400错误请求【英文标题】:JSONStringify400BadRequestonAJAXPOST【发布时间】:2015-10-1316:27:41【问题描述】:我收到AJAXPost方法的400BadRequest。我在后端使用SpringDataRestServices。下面是我在前端的JS代码varurl="/udb/data/Sec... 查看详情

带有 React Native 视频的自定义播放/暂停按钮 - 获取 JSON 值错误消息

】带有ReactNative视频的自定义播放/暂停按钮-获取JSON值错误消息【英文标题】:CustomPlay/PauseButtonwithReactNativeVideo-GettingJSONValueErrorMessage【发布时间】:2020-01-1507:34:55【问题描述】:我正在尝试在按下整个视频时实现播放/暂停。cons... 查看详情

如何获取模型中所有文档的数组?

】如何获取模型中所有文档的数组?【英文标题】:HowdoIobtainanarrayofallthedocsinmymodel?【发布时间】:2011-08-1316:30:52【问题描述】:myModel.find(,function(err,models)console.log(models.toJSON());//错误:对象没有toJSON方法)【问题讨论】:【参考... 查看详情

如何获取模型中所有文档的数组?

】如何获取模型中所有文档的数组?【英文标题】:HowdoIobtainanarrayofallthedocsinmymodel?【发布时间】:2011-08-1316:30:52【问题描述】:myModel.find(,function(err,models)console.log(models.toJSON());//错误:对象没有toJSON方法)【问题讨论】:【参考... 查看详情

json.stringify()/json.parse()

JSON.stringify()这个方法可以把javascript对象转换成json字符串。JSON.parse()这个方法可以把json字符串转换成javascript对象。【下面来看一下这两个方法的详细解答】json数据中没有变量和结尾的分号,并且数据必须是用双引号引起来的,... 查看详情