2016-10-30 4 views
0

У меня есть JSON-файл, который содержит следующее:Как разобрать JSON-файл в Javascript?

[ 
    { 
    “name”: “Joshia \”Placement\” Fonz”, 
    “color”: “white” 
    }, 
    { 
    "name": “Trin Brin”, 
    “color”: “black” 
    }, 
    { 
    “name”: “Su Et”, 
    “color”: “yellow” 
    } 
] 

И я хотел бы разобрать его, чтобы использовать массив и объекты для приложения. Итак, './students.json', являющийся путем для файла JSON, я попытался JSON.parse('./students.json'), но получил ошибку Uncaught SyntaxError: Unexpected token . in JSON at position 0 и попытался JSON.stringify('./students.json'), но он просто вернул мне точную строку пути './students.json'.

Могу ли я проанализировать JSON-файл в Javascript, чтобы использовать массив?

Спасибо

+0

попробуйте JSONlint.com, чтобы проверить, является ли формат JSON действительным или нет. –

+3

Кстати, цитаты выглядят по-другому. –

ответ

1

Вы должны использовать ajax запрос для того, jQuery ($) обеспечивает абстракцию для XHR.

$.get("./students.json", function(data){ 
    //success callback 
    // data is the json you requested already parsed 
}, "json"); 

это самый быстрый способ для достижения этой цели, до тех пор, как на стороне клиента по умолчанию не может прочитать файл с сервера, даже если есть file API для чтения на стороне клиента файла, но я предполагаю, что в в этом случае он может предоставить вам больше проблем, чем это реально решить.

File

FileReader

+0

Я не делаю никаких запросов. Я просто имею файл под названием 'students.json' и пытаюсь использовать массив. –

+0

И для извлечения этого файла вам необходимо сделать запрос. Клиентская сторона не будет магически извлекать его по пути. – steo

0

JSON является leagal Javascript, так что вы можете просто добавить к странице:

<script language="JavaScript" type="text/javascript" src="./students.json"></script> 
1

Это потому, что вы разборе строки './students.json' не что находится внутри файла. Вы должны открыть файл, а затем взять информацию. Этот пример можно использовать для чтения файла https://stackoverflow.com/a/14446538/5334265. Затем используйте JSON.parse для контента.

+0

Я не делаю никаких запросов. У меня уже есть файл под названием 'students.json', и я хочу его проанализировать, чтобы использовать массив. Как я могу это сделать? –

+1

, но вам нужен запрос на ваш собственный сервер, чтобы получить файл. Как пример @steo –

Смежные вопросы