You can use lookup function from dataweave for converting each line to JSON. Pass JSONstring as input to lookup function and return Json object. Following code should works fine
Main dataweave which takes text/plain as input but consider it as single column CSV without any header.
<dw:transform-message doc:name="Transform Message">
<dw:input-payload mimeType="application/csv">
<dw:reader-property name="header" value="false"/>
<dw:reader-property name="separator" value="|"/>
</dw:input-payload>
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
payload map lookup('getJsonData',$.column_0)]]>
</dw:set-payload>
</dw:transform-message>
Above script calls following lookup function which takes input as JSON string nd output as JSSON object.
<flow name="getJsonData">
<dw:transform-message doc:name="Transform Message">
<dw:input-payload mimeType="application/json"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
payload]]></dw:set-payload>
</dw:transform-message>
</flow>
Hope this helps.