You could try
ink.
It is a very powerful language for banching narratives and exports to a JSON file. The official implementation is in C# to be used with Unity.
A JavaScript implementation exists, so it can also be previewed in a web page. If you use React Native, I guess it is possible to use the JavaScript library along with a native interface, too. Finally, You could write your own implementation in another language (say, Swift or Kotlin) or search if someone did that already (I think that's the case for Kotlin).
If you like Twine, I know
there exists a story format that creates a JSON file instead of an HTML one, but I never tried it and it has not been updated recently.