Como ler um arquivo JSON para renderizar lista HTML

Estou com uma dificuldade em uma aplicação que le um arquivo json e renderiza no HTML, não estou conseguindo acessar o objeto corretamente, a variavel products fica como undefined. Alguém poderia me ajudar? se tiver alguma outra forma para resolver também estou aberta

html

<div id="main__interess__list"></div> // a lista vai nessa div 

js

$  .getJSON("./products.json", function (data) {   //alert("Carregou o list.json");  var products = data.recommendation;  var tempHtml = '<ul>';  for (var i = 0; i < products.length; i++) {   var product = products[i];   tempHtml += "<li><p>" + product.name + "</p><ul>";   tempHtml += "</ul></li>";  } tempHtml += "</ul>";  $  ('#main__interess__list').html(tempHtml); }); 

arquivo json

[{     "data": {         "widget": {             "size": 10         },         "item": {             "businessId": "7990220",             "name": "iPhone SE Apple com 16GB, Tela 4”, iOS 9, Sensor de Impressão Digital, Câmera iSight 12MP, Wi-Fi, 3G/4G, GPS, MP3, Bluetooth e NFC - Cinza Espacial",             "imageName": "//www.itelios.com.br/arquivos/imagens/iPhone-SE-Apple-com-16GB-Tela-4-iOS-9-Sensor-de-Impressao-Digital-Camera-iSight-12MP-Wi-Fi-3G-4G-GPS-MP3-Bluetooth-e-NFC-Cinza-Espacial-7990220.jpg",             "price": "R$   1.999,00",             "oldPrice": "R$   2.599,00",             "productInfo": {                 "paymentConditions": "ou até 9x de R$   222,11 sem juros"             }         },         "recommendation": [{                 "businessId": "4453613",                 "name": "MacBook Pro Apple MF839BZ/A com Intel® Core™ i5 Dual Core, 8GB, 128GB SSD, Leitor de Cartões, HDMI, Wireless, Webcam, LED Retina 13.3” e OS X Yosemite",                 "imageName": "//www.itelios.com.br/arquivos/imagens/MacBook-Pro-Apple-MF839BZ-A-com-Intel-Core-i5-Dual-Core-8GB-128GB-SSD-Leitor-de-Cartoes-HDMI-Wireless-Webcam-LED-Retina-13-3-e-OS-X-Yosemite-4453613.jpg",                 "price": "R$   6.999,00",                 "oldPrice": "R$   7.999,00",                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   777,67 sem juros"                 }             },             {                 "businessId": "11549005",                 "name": "Apple Macbook Air 13 I5 1,6ghz 8gb 128gb Ssd Mmgf2",                 "imageName": "//www.itelios.com.br/arquivos/imagens/apple-macbook-air-13-i5-16ghz-8gb-128gb-ssd-mmgf2-11549005.jpg",                 "price": "R$   5.999,00",                 "oldPrice": null,                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   666,56 sem juros"                 }             },             {                 "businessId": "4996363",                 "name": "MacBook Pro Apple MJLQ2BZ/A com Intel® Core™ i7 Quad Core, 16GB, 256GB SSD, Leitor de Cartões, HDMI, Bluetooth, Tela LED Retina 15.4” e OS X Yosemite",                 "imageName": "//www.itelios.com.br/arquivos/imagens/MacBook-Pro-Apple-MJLQ2BZ-A-com-Intel-Core-i7-Quad-Core-16GB-256GB-SSD-Leitor-de-Cartoes-HDMI-Bluetooth-Tela-LED-Retina-15-4-e-OS-X-Yosemite-4996363.jpg",                 "price": "R$   11.990,00",                 "oldPrice": "R$   11.500,00",                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   1.277,78 sem juros"                 }             },             {                 "businessId": "11514560",                 "name": "Apple Macbook Air 13 Core I5 1.6ghz 8gb 128gb Ssd - Mmgf2",                 "imageName": "//www.itelios.com.br/arquivos/imagens/apple-macbook-air-13-core-i5-16ghz-8gb-128gb-ssd-mmgf2-11514560.jpg",                 "price": "R$   4.699,99",                 "oldPrice": null,                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   522,22 sem juros"                 }             },             {                 "businessId": "1765938",                 "name": "Mac Mini Apple MGEN2BZ/A com Intel® Core™ i5 Dual Core, 8GB, 1TB, Leitor de Cartões, HDMI, Wireless AC, Bluetooth 4.0 e OS X Yosemite",                 "imageName": "//www.itelios.com.br/arquivos/imagens/Mac-Mini-Apple-MGEN2BZ-A-com-Intel-Core-i5-Dual-Core-8GB-1TB-Leitor-de-Cartoes-HDMI-Wireless-AC-Bluetooth-4-0-e-OS-X-Yosemite-3865616.jpg",                 "price": "R$   5.823,90",                 "oldPrice": null,                 "productInfo": {                     "paymentConditions": "ou até 8x de R$   727,99 sem juros"                 }             },             {                 "businessId": "6823995",                 "name": "iMac Apple MK142BZ/A com Intel® Core™ i5 Dual Core, 8GB, 1TB, Leitor de Cartões, Wireless, Bluetooth, Webcam, LED",                 "imageName": "//www.itelios.com.br/arquivos/imagens/iMac-Apple-MK142BZ-A-com-Intel-Core-i5-Dual-Core-8GB-1TB-Leitor-de-Cartoes-Wireless-Bluetooth-Webcam-LED-21-5-e-OS-X-El-Capitan-6823995.jpg",                 "price": "R$   5.999,00",                 "oldPrice": null,                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   666,56 sem juros"                 }             },             {                 "businessId": "10404692",                 "name": "iPhone 6s Apple com Tela 4,7” HD, 32GB, 3D Touch, iOS 9, Sensor Touch ID, Câmera iSight 12MP, Wi-Fi, 4G, GPS, Bluetooth e NFC - Cinza Espacial",                 "imageName": "//www.itelios.com.br/arquivos/imagens/iphone-6s-apple-com-tela-47-hd-32gb-3d-touch-ios-9-sensor-touch-id-camera-isight-12mp-wi-fi-4g-gps-bluetooth-e-nfc-cinza-espacial-10404692.jpg",                 "price": "R$   2.639,12",                 "oldPrice": "R$   3.298,90",                 "productInfo": {                     "paymentConditions": "ou até 12x de R$   219,93 sem juros"                 }             },             {                 "businessId": "11466328",                 "name": "iPhone 7 Apple Plus Red com 128GB, Tela Retina HD de 5,5”, iOS 10, Dupla Câmera Traseira, Resistente à Água, Wi-Fi, 4G LTE e NFC - Vermelho",                 "imageName": "//www.itelios.com.br/arquivos/imagens/iphone-7-apple-plus-red-com-128gb-tela-retina-hd-de-55-ios-10-dupla-camera-traseira-resistente-a-agua-wi-fi-4g-lte-e-nfc-vermelho-11466328.jpg",                 "price": "R$   4.499,00",                 "oldPrice": null,                 "productInfo": {                     "paymentConditions": "ou até 10x de R$   449,90 sem juros"                 }             },             {                 "businessId": "10404669",                 "name": "iPhone 6s Apple com Tela 4,7” HD, 32GB, 3D Touch, iOS 9, Sensor Touch ID, Câmera iSight 12MP, Wi-Fi, 4G, GPS, Bluetooth e NFC - Ouro Rosa",                 "imageName": "//www.itelios.com.br/arquivos/imagens/iphone-6s-apple-com-tela-47-hd-32gb-3d-touch-ios-9-sensor-touch-id-camera-isight-12mp-wi-fi-4g-gps-bluetooth-e-nfc-ouro-rosa-10404669.jpg",                 "price": "R$   2.639,12",                 "oldPrice": "R$   2.999,00",                 "productInfo": {                     "paymentConditions": "ou até 12x de R$   219,93 sem juros"                 }             },             {                 "businessId": "7990220",                 "name": "iPhone SE Apple com 16GB, Tela 4”, iOS 9, Sensor de Impressão Digital, Câmera iSight 12MP, Wi-Fi, 3G/4G, GPS, MP3, Bluetooth e NFC - Cinza Espacial",                 "imageName": "//www.itelios.com.br/arquivos/imagens/iPhone-SE-Apple-com-16GB-Tela-4-iOS-9-Sensor-de-Impressao-Digital-Camera-iSight-12MP-Wi-Fi-3G-4G-GPS-MP3-Bluetooth-e-NFC-Cinza-Espacial-7990220.jpg",                 "price": "R$   1.999,00",                 "oldPrice": "R$   2.599,00",                 "productInfo": {                     "paymentConditions": "ou até 9x de R$   222,11 sem juros"                 }             }         ]     } }] 

Ler e gravar em arquivo binario e texto ao mesmo tempo

Peguei esse codigo da internet e gostaria de fazer ele ler e gravar em arquivo binario e texto, ao mesmo tempo. Eu tentei desse jeito mas apenas salva no arquivo binario.

include

include

typedef struct { char nome[100]; int idade; } Pessoa;

FILE *f; FILE *f2;

int main() { Pessoa p;

printf("Digite seu nome: "); fflush(stdin); gets(p.nome); printf("Digite sua idade: "); scanf("%d", &p.idade); f = fopen("pessoas.txt", "a"); f2 = fopen("pessoas2.bin", "ab"); fwrite(&p, sizeof(Pessoa), 1, f); fclose(f); fclose(f2); f = fopen("pessoas.txt", "r"); f2 = fopen("pessoas2.bin", "rb");  if (!f) {     printf("Erro ao tentar ler o arquivo.\n");     exit(1); }  while(fread(&p, sizeof(Pessoa), 1, f)) {     printf("Olá %s, você tem %d anos.\n", p.nome, p.idade); }  fclose(f);   return 0; 

}