There are many ways of structuring 2D levels.
One way would be to create a Level class which contains all the GameObjects and their physics-related information. It would know of where each GameObject and its rotation, along with each GameObjects physics bounding shape its orientation. Then, you could create an editor for the Levels and let it save/load Levels using serialization or some other method.
The file format doesn't really matter, as long as it suits your needs. If you don't need to be able to edit it from outside an editor, you could just use serialization. If you do, then you can use a text file that describes all of the GameObjects that your Level contains. For example, your file format could be like this:
<Level name="Tutorial">
<GameObject name="Floor1">
<Physics type="static" shape="Box(1000, 10)"/>
<Orientation position="0, 800" rotation="0"/>
</GameObject>
<GameObject name="Bob the Unicorn" class="com.stackexchange.game.Unicorn">
<Physics type="dynamic" shape="Polygon({10, 20},{40, 30},{-10, 500})" mass="99"/>
<Orientation position="50, 30" rotation="50"/>
</GameObject>
...
</Level>