Как разобрать строку JSON, определяющую функцию - PullRequest
0 голосов
/ 17 июня 2020

У меня есть следующая строка в качестве содержимого в div. Я хочу использовать JSON .parse, чтобы преобразовать это в объект JSON. Когда я пытаюсь использовать Unexpeded токен, он всегда терпит неудачу.

    let paramstr=document.querySelector('#cart_payment_params').innerText;
    let params=JSON.parse(paramstr);
    <div id="cart_payment_params" style="display:none;">{
    	style: {
    		shape: 'pill',
    		color: 'blue',
    		layout: 'vertical',
    		label: 'paypal'
    	},
    	createOrder: function(data, actions) {
    		return actions.order.create({
    			purchase_units: [{
    				amount: {
    					value: '1'
    				}
    			}]
    		});
    	},
    	onApprove: function(data, actions) {
    		return actions.order.capture().then(function(details) {
    			alert('Transaction completed by ' + details.payer.name.given_name + '!');
    		});
    	}
    }</div>

Javascript Ошибка:

Uncaught SyntaxError: Unexpected token u in JSON at position 118
    at JSON.parse (<anonymous>)

1 Ответ

0 голосов
/ 17 июня 2020

robinvrd ответил на это. JSON поддерживает только типы массивов, объектов и примитивов (число, строка, логическое значение, null).

...