dpd20130 2017-09-18 18:36
浏览 47
已采纳

将文本解析为json

I have a txt file that looks like that:

1 - 10
2 - 20
3 - 30

How can I make a json array that looks like that:

{
  "item": "1",
  "value": "10"
},

{
  "item": "2",
  "value": "20"
},

{
  "item": "3",
  "value": "30"
},

Thanks!

  • 写回答

3条回答 默认 最新

  • duanben1909 2017-09-18 19:13
    关注

    You need to read line by line from the text file and explode the line with delimiter '-'. Then create an array which can be converted to json.

    // Open the file to read data.
    $fh = fopen('student.txt','r');
    // define an eampty array
    $data = array();
    // read data
    while ($line = fgets($fh)) {
        // if the line has some data
       if(trim($line)!=''){
           // explode each line data 
           $line_data = explode('-',$line);
           // push data to array
           //array_push($data,array('item'=>trim($line_data[0]),'value'=>trim($line_data[1])));
           $data[]=array('item'=>trim($line_data[0]),'value'=>trim($line_data[1]));
       }
    }
    fclose($fh);
    // json encode the array
    echo $json_data = json_encode($data);
    

    Output:

    [{"item":"1","value":"10"},
    {"item":"2","value":"20"},
    {"item":"3","value":"30"}]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表