javascript - 尝试使用 javascript 在终端中记录 JSON 响应
问题描述
当我键入以下命令时
console.log("Response = " +JSON.stringify(response.body));
我得到以下回复
Response = {"data":{"getPortalByOrganizationAliasAndSlug":{"portalId":"123f3redvq","expireAt":null,"accountId":"1","templateId":"stephendemo","arePortalDefaultsOverriden":null,"template":{"allContent":null,"digitalAssets":[],"recommendedContent":null,"allTopics":null,"recommendedTopics":null,"templateId":"stephendemo","organizationId":"fqewf2134214","header":"","footer":"","favicon":"null","logoPath":"/img/pages/logo.png","logo":"https://dev-v3-23-dev-assets.s3.amazonaws.com/r232r/232332/3232/stephendemo/image-logo-1603086511.png","primaryColor":"undefined","secondaryColor":"#b5b3b3","labels":{"key":"key","value":"value","__typename":"Tuple"},"orgLegalName":"Stephen Carvalho","supportTextLine":"Support","supportEmailAddress":null,"termsOfService":"http://2323.com","copyright":"Stephen Carvalho","invitationDelivery":"MANUALLY","magicLink":false,"emailAndPAssword":false,"scope":"2332","searchPlaceholder":"search","inputPlaceholder":null,"orgDisplayName":"Stephen","styles":{"contentCards":{"type":"STANDARD","__typename":"ContentCardStyle"},"__typename":"TemplateStyles"},"__typename":"TemplatePortalContent"},"templateBuyerPortal":null,"driftEnabled":false,"driftConfig":null,"portalState":"enabled","portalSlug":"stephendemo","userOwnerId":"1","userOwner":{"organizationId":"oSvjLe1paYKg","firstName":"Stephen","lastName":"Carvalho","email":"stephen.omedym+stephensdemo@gmail.com","accountId":"1","portalIds":null,"phone":null,"title":null,"__typename":"User"},"teamMembers":null,"organizationAlias":"stephensdemo","companyId":1,"organizationId":"oSvjLe1paYKg","scope":"CONTENT_PORTAL","isContentPortalv3":true,"landingPageUrl":null,"isLandingPageUrlEnabled":false,"blockedDomains":[],"exclusiveContent":{"digitalAssets":[{"id":"2","status":5,"__typename":"ExclusiveDigitalAsset"}],"__typename":"ExclusiveContentType"},"__typename":"Portal"}}} source=console
我想将门户 ID 保存在变量中。
我尝试使用此命令首先仅打印数据变量中的部分
let responsedata = JSON.parse(response.body.data);
console.log(responsedata);
但我收到以下错误
ERRO[0002] SyntaxError: invalid character 'u' looking for beginning of value
running at parse (native)
即使我尝试以下命令,我也会收到相同的错误
let responsedata = JSON.parse(response.body.data.getPortalByOrganizationAliasAndSlug.portalId);
console.log(responsedata);
谁能帮我理解如何打印响应中的变量,例如portalID 或accounting 的值?
解决方案
也许response.body
已经解析了。并将JSON.stringify(response.body)
其再次转换为 JSON 并将有效的 json 打印到控制台。
尝试response.body
不使用日志记录JSON.stringify()
,看看它是否打印了一个 javascript 对象。
如果是的话,就没有必要了JSON.parse(response.body.data)
。像通常使用 javascript 对象一样使用它。
推荐阅读
- ruby-on-rails - 如何在 Rails 中使用 Bootstrap 在页脚中添加模态并传递参数?
- javascript - 如何显示
仅在加载组件中(Ant Design) - python - 如何使用 Groupby 函数找到移动平均线?
- python - np.empty.mean 文档中的给定声明是什么?
- mysql - 带有两个日期列的 sql 查询“where 子句”
- ruby - 使用 send 从 ruby 中的对象实例调用时指定父类
- django - 尝试迁移表时出现 STATICFILES_DIRS 错误 - django heroku
- java - JavaFX:将 ObservableList 绑定到哪个视图?
- javascript - 'then' 和 'catch' 一个接一个的叫
- css - 使用 vuetify 将 btn 定位到对话框的绝对右上角