The difference between a CSV and TSV is only the separator used in between the value: CSV uses a comma and TSV uses a tab. The difference between CSV or TSV and JSON is that in JSON the key or parameter is repeated in every row or object. There are other differences but they do not matter in terms of conversion between the two formats. One thing that could be an issue is that both CSV and TSV do not need to have headers so we would need to make that a requirement for our conversion function and it makes sense as JSON really needs to know what is the parameter/header name.
As you can see, the only difference here is that I am not looking for a comma but for a tab to do the split. Here is a demo that allows you to upload a CSV or TSV and get a JSON file back, all on the client side, a HTML5 CSV or TSV to JSON Converter.