Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert String to JsonObject in kotlin returns null

Edit Found Solution:

Found the error in my code. I'm running this on a unit test and Android doesn't use JSON objects on unit tests because it's part of android. That's why it was returning null.

Question:

I'm tying to convert my String back to a JsonObject using JSONObject("string")

Here is a sample of my String:

{
  "sessions": [
    {
      "locations": [
        {
          "lat": "14.2294625",
          "lng": "121.1509005",
          "time": 1560262643000,
          "speed": 0,
          "speedLimit": 0
        },
        {
          "lat": "14.2294576",
          "lng": "121.1509498",
          "time": 1560262713000,
          "speed": 0,
          "speedLimit": 0
        },
        {
          "lat": "14.2294576",
          "lng": "121.1509498",
          "time": 1560262714000,
          "speed": 0,
          "speedLimit": 0
        }
      ],
      "name": "1.5645220491E12"
    }
  ]
}

Its returning null on my JsonObjects:

content = "the string above"

var obj = JSONObject(content.substring(content.indexOf("{"), content.lastIndexOf("}") + 1))
System.out.println("obj1: " + obj.toString())

obj = JSONObject(content)
System.out.println("obj1: " + obj.toString())

var obj1 = JSONArray(content)
System.out.println("obj1: " + obj1.toString())

obj1 = JSONArray(content.substring(content.indexOf("{"), content.lastIndexOf("}") + 1))
System.out.println("obj2: " + obj1.toString())

All the outputs of this are null. Any way to know what error happens so I can adjust my json string?

like image 767
Marlon Avatar asked May 26 '26 03:05

Marlon


1 Answers

Since you are running your code with Junit, it running on the SDK on your computer. This SDK doesn't provide everything, some are just some skeleton class providing signature of method and documentation but not the code. So you can't execute directly.

Try to add the library in testing

testImplementation 'org.json:json:your_version'

See the version here :

http://mvnrepository.com/artifact/org.json/json

This is based on the answer on this post: JSONObject returns a non null value of "null" after instantiating with string

like image 53
Evgeny Ezhov Avatar answered May 28 '26 18:05

Evgeny Ezhov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!