// 调试JSON解析问题
const fs = require('fs');
const path = require('path');

const filePath = path.join(__dirname, 'domain-info', 'domains', 'domain-info.json');

console.log(`正在调试JSON文件: ${filePath}`);
console.log('=' .repeat(50));

// 1. 检查文件大小和内容
const stats = fs.statSync(filePath);
console.log(`文件大小: ${stats.size} 字节`);

const data = fs.readFileSync(filePath, 'utf8');
console.log(`文件内容长度: ${data.length} 字符`);
console.log('=' .repeat(50));

// 2. 查找网易公司的位置和结束位置
const neteaseStart = data.indexOf('"网易"');
console.log(`网易公司开始位置: ${neteaseStart}`);

// 尝试找到网易公司的结束位置
let neteaseEnd = neteaseStart + 1000;
const neteaseEndStr = '},\n\t\t"';
neteaseEnd = data.indexOf(neteaseEndStr, neteaseStart);
console.log(`网易公司结束位置: ${neteaseEnd}`);

// 3. 查看网易公司结束后的内容
if (neteaseEnd !== -1) {
    const nextCompany = data.substring(neteaseEnd, neteaseEnd + 50);
    console.log(`网易公司结束后的内容: ${nextCompany}`);
}
console.log('=' .repeat(50));

// 4. 解析JSON并查看结果
try {
    const parsedData = JSON.parse(data);
    console.log('JSON解析成功!');
    
    if ('domains' in parsedData) {
        const companies = Object.keys(parsedData.domains);
        console.log(`解析出的公司数量: ${companies.length}`);
        console.log(`解析出的公司: ${companies.join(', ')}`);
        
        // 查看网易公司的完整数据
        if (companies.includes('网易')) {
            console.log('\n网易公司的数据结构:');
            console.log(JSON.stringify(parsedData.domains['网易'], null, 2));
        }
    }
} catch (error) {
    console.error('JSON解析错误:', error);
    // 显示错误位置附近的内容
    if (error instanceof SyntaxError && error.offset) {
        const errorPos = error.offset;
        const context = data.substring(Math.max(0, errorPos - 50), errorPos + 50);
        console.log(`错误位置附近的内容: ${context}`);
    }
}
console.log('=' .repeat(50));

// 5. 搜索其他公司
const companiesToCheck = ['搜狗', '高德地图', '奇虎360', '百度'];
for (const company of companiesToCheck) {
    const position = data.indexOf(`"${company}"`);
    console.log(`${company}在文件中的位置: ${position}`);
    if (position !== -1) {
        const context = data.substring(Math.max(0, position - 10), position + 20);
        console.log(`  上下文: ${context}`);
    }
}