GVKun编程网logo

SyntaxError:JSON中位置1处的意外令牌o

27

关于SyntaxError:JSON中位置1处的意外令牌o的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Angular2SyntaxError:JSON.parse()中位置0的JSON

关于SyntaxError:JSON中位置1处的意外令牌o的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Angular 2 SyntaxError:JSON.parse()中位置0的JSON中的意外标记<、babel watch SyntaxError:意外令牌、babel-loader jsx SyntaxError:意外令牌、babel-loader jsx SyntaxError:意外令牌[重复]等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

SyntaxError:JSON中位置1处的意外令牌o

SyntaxError:JSON中位置1处的意外令牌o

我在控制器中使用类型类解析了一些数据,如下所示:

{     "data":{        "userList":[           {              "id":1,            "name":"soni"         }      ]   },   "status":200,   "config":{        "method":"POST",      "transformRequest":[           null      ],      "transformResponse":[           null      ],      "url":"/home/main/module/userlist",      "headers":{           "rt":"ajax",         "Tenant":"Id:null",         "Access-Handler":"Authorization:null",         "Accept":"application/json, text/plain, */*"      }   },   "statusText":"OK"}

我试图像这样存储数据

var userData = _data;var newData = JSON.parse(userData).data.userList;

如何将用户列表提取到新变量?

答案1

小编典典

您发布的JSON看起来不错,但是在您的代码中,它很可能不再是JSON字符串,而已经是JavaScript对象。这意味着不再需要解析。

您可以自己对此进行测试,例如在Chrome的控制台中:

new Object().toString()// "[object Object]"JSON.parse(new Object())// Uncaught SyntaxError: Unexpected token o in JSON at position 1JSON.parse("[object Object]")// Uncaught SyntaxError: Unexpected token o in JSON at position 1

JSON.parse()将输入转换为字符串。toString()默认情况下,JavaScript对象的方法返回[objectObject],从而导致观察到的行为。

请尝试以下操作:

var newData = userData.data.userList;

Angular 2 SyntaxError:JSON.parse()中位置0的JSON中的意外标记<

Angular 2 SyntaxError:JSON.parse()中位置0的JSON中的意外标记<

我从Visual Studio中的Angular2组件服务调用Web API,但我不断收到错误“ JSON.parse()中位置0的JSON中的意外标记<”. ComponentService:

import { Injectable } from '@angular/core';
       import {Http,Response } from '@angular/http';
       import { IData } from '../Common/details';
       import { Observable } from 'rxjs/Observable';
       import 'rxjs/add/operator/map';

       @Injectable()  
       export class AniversaryService {
         constructor(private _http:Http) { }
         getimages(): Observable<IData[]> {
                return this._http.get("/api/ImageService/Details")
                .map((response: Response) => <IData[]>response.json()      
                };
        }

和相应的组件是:

import { Component,OnInit } from '@angular/core';
    import { DomSanitizer } from '@angular/platform-browser';
    import { IData } from '../Common/details';
    import { AniversaryService } from './Aniversary.service';

    @Component({
    selector: 'my-AniversaryComponent',providers: [AniversaryService]
    })

    export class AniversaryComponent implements OnInit {
       data: IData[];
       constructor(private _aniversaryservice: AniversaryService) { }
       ngOnInit() {
       this._aniversaryservice.getimages().subscribe((details) => this.data 
       =details); 
       }
     }

    }

这些是网络标头和我的响应的图像(响应是在Javascript中):

In Developer tool the network Headers image:

and my response is in Javascript

有时我的状态代码显示200 ok和内容类型(在响应标题中):application / javascript

请帮我解决这个问题.

我在这里先向您的帮助表示感谢

解决方法

标题没用,数据也是如此.但错误信息很明确:您认为应该是JSON,以“<”开头作为第一个字符,JSON不会以“<”开头.很可能你收到的是html或xml.

babel watch SyntaxError:意外令牌

babel watch SyntaxError:意外令牌

当我使用babel观看jsx文件时。但是存在语法错误。

在此之前,我使用react-tools进行观看,一切都很好。

SyntaxError: assets/js/chat/chat.jsx: Unexpected token (258:16)
  256 |         if (this.props.isOpen) {
  257 |             return (
> 258 |                 <div className="modal-overlay">
      |                 ^
  259 |                     <ReactCSSTransitionGroup transitionName={this.props.transitionName}>
  260 |                         <div className="chat-modal">
  261 |                             {this.props.children}

以下是我的代码。

var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;
var Modal = React.createClass({
    render: function() {
        if (this.props.isOpen) {
            return (
                <div className="modal-overlay">
                    <ReactCSSTransitionGroup transitionName={this.props.transitionName}>
                        <div className="chat-modal">
                            {this.props.children}
                        </div>
                    </ReactCSSTransitionGroup>
                </div>
            )
        } else {
            return <div className="modal-overlay"><ReactCSSTransitionGroup transitionName={this.props.transitionName}/></div>
        }
    }
});

babel-loader jsx SyntaxError:意外令牌

babel-loader jsx SyntaxError:意外令牌

我是React + Webpack的初学者。

我在Hello World Web应用程序中发现一个奇怪的错误。

我在webpack中使用babel-loader来帮助我将jsx转换为js,但是babel似乎无法理解jsx语法。

这是我的依赖项:

"devDependencies": {
  "babel-core": "^6.0.14","babel-loader": "^6.0.0","webpack": "^1.12.2","webpack-dev-server": "^1.12.1"
},"dependencies": {
  "react": "^0.14.1"
}

这是我的 webpack.config.js

var path = require('path');
module.exports = {
  entry: ['webpack/hot/dev-server',path.resolve(__dirname,'app/main.js')],output: {
    path: path.resolve(__dirname,'build'),filename: 'bundle.js'
  },module: {
      loaders: [
          { test: /\.js$/,exclude: /node_modules/,loader: "babel-loader"}
      ]
  }
};

这是我的 app/main.js

var React = require("react");
React.render(<h1>hello world</h1>,document.getElementById("app"));

这是错误消息

ERROR in ./app/main.js
Module build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13)
  1 | var React = require("react");
> 2 | React.render(<h1>hello world</h1>,document.getElementById("app"));
    |              ^
at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)

谢谢你们

babel-loader jsx SyntaxError:意外令牌[重复]

babel-loader jsx SyntaxError:意外令牌[重复]

我是React + Webpack的初学者。

我在Hello World Web应用程序中发现了一个奇怪的错误。

我在webpack中使用babel-loader来帮助我将jsx转换为js,但是babel似乎无法理解jsx语法。

这是我的依赖项:

"devDependencies": {
  "babel-core": "^6.0.14","babel-loader": "^6.0.0","webpack": "^1.12.2","webpack-dev-server": "^1.12.1"
},"dependencies": {
  "react": "^0.14.1"
}

这是我的 webpack.config.js

var path = require('path');
module.exports = {
  entry: ['webpack/hot/dev-server',path.resolve(__dirname,'app/main.js')],output: {
    path: path.resolve(__dirname,'build'),filename: 'bundle.js'
  },module: {
      loaders: [
          { test: /\.js$/,exclude: /node_modules/,loader: "babel-loader"}
      ]
  }
};

这是我的 app/main.js

var React = require("react");
React.render(<h1>hello world</h1>,document.getElementById("app"));

这是错误消息

ERROR in ./app/main.js
Module build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13)
  1 | var React = require("react");
> 2 | React.render(<h1>hello world</h1>,document.getElementById("app"));
    |              ^
at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)

谢谢你们

我们今天的关于SyntaxError:JSON中位置1处的意外令牌o的分享已经告一段落,感谢您的关注,如果您想了解更多关于Angular 2 SyntaxError:JSON.parse()中位置0的JSON中的意外标记<、babel watch SyntaxError:意外令牌、babel-loader jsx SyntaxError:意外令牌、babel-loader jsx SyntaxError:意外令牌[重复]的相关信息,请在本站查询。

本文标签: