TCP and json versus json_lines when sending multiple messages

I have a java program which needs to deliver some specialized traffic to logstash, so using log4j or logback is not appropriate.

So, I set up logstash with a tcp socket and the json codec, and coded the program to connect a socket and send json.

If I push the json with nc, it shows up at logstash. When my code sends it, never.

I'm perplexed by json versus json_lines. If I want to keep the connection open indefinitely and send a json object every so often, do I use json_lines and add a newline, or just use json and expect logstash to notice the closing '}'?