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

将文本解析为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 11: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条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部