Удаление новой строки \ n из строки json в Kotlin Android - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь удалить символы \ n из строки json, так как это не позволяет мне устанавливать текст в моих текстовых представлениях. Я пробовал разные примеры, например , как удалить атрибуты из json, используя Kotlin и jackson ObjectMapper , но это не помогло мне. Я хочу присвоить значения из json, используя Gson, текстовым представлениям, но оно становится пустым из-за символов \ n.

Я также пытался заменить методом .toRegex, но это не помогло мне.

Это мой код MainActivity

class MainActivity : AppCompatActivity() {

private var mGitHubApiCall: GithubApiCall? = null
var result: String?= null
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    mGitHubApiCall = GitHubCVService.gitHubService
    mGitHubApiCall!!.getData().enqueue(object : Callback<GithubResp> {
        override fun onResponse(call: Call<GithubResp>, response: Response<GithubResp>) {
            if (response.isSuccessful) {
                val msg = response.body()?.files?.cvDummyJson?.content
                result= msg+""
                Log.e("data", result)                   
                val data= Gson().fromJson(result, Data::class.java)
                user_name.text= data.name
                summary_desc.text= data.summary
            } else {
                Log.e("data", "error")
            }
        }

        override fun onFailure(call: Call<GithubResp>, t: Throwable) {
            Log.e("data", "Fail to call")
        }

    })


}

Мой json приходит как

{\n
   "data":{\n
  "name":"Maria",\n
  "summary":"Likable and dedicated IT consultant with over 5 years of experience in a fast-paced fin-tech company. Eager to offer superb analytical and computer skills to help ABC Inc grow its client base. In previous roles recognized for top company-wide quality satisfaction rating.",\n
  "skills":[\n
     {\n
        "type":"Design Languages",\n
        "languages":[\n
           "HTML",\n
           "XML",\n
           "CSS"\n
        ]\n
     },\n
     {\n
        "type":"Language",\n
        "languages":[\n
           "Java",\n
           "C#",\n
           "C++",\n
           "Kotlin"\n
        ]\n
     },\n
     {\n
        "type":"Scripting Language",\n
        "languages":[\n
           "Javascript"\n
        ]\n
     },\n
     {
        "type":"Server Language",\n
        "languages":[\n
           "Php"\n
        ]\n
     },\n
     {\n
        "type":"Operating System",\n
        "languages":[\n
           "Windows",\n
           "Mac",\n
           "Android"\n
        ]\n
     },\n
     {\n
        "type":"Database",\n
        "languages":[\n
           "Sqlite",\n
           "SQL",\n
           "MySQL"\n
        ]\n
     },\n
     {\n
        "type":"Frameworks", \n
        "languages":[\n
           "Netbeans",\n
           "Eclipse",\n
           "ADT-Bundle"\n
        ]\n
     }\n
  ],\n
  "education_bg":[\n
     {\n
        "position":"Post-Graduate in IBM",\n
        "Major":"International Business",\n
        "from":"2018",\n
        "to":"2019",\n
        "institute_name":"Douglas College"\n
     },\n
     {\n
        "position":"Post-Graduate in ICT",\n
        "Major":"Information Technology",\n
        "from":"2017",\n
        "to":"2018",\n
        "institute_name":"Douglas College"\n
     },\n
     {\n
        "position":"Bachelors in CSE",\n
        "Major":"Computer Science",\n
        "from":"2010",\n
        "to":"2014",\n
        "institute_name":"Douglas College"\n
     }\n
  ]\n
   }\n
}

Я хочу установить значения из этой строки json в мое текстовое представление, которое становится пустым и ничего не показывает,

Заранее спасибо

1 Ответ

0 голосов
/ 19 октября 2019

Я думаю, что ваш JSON в первый раз как String, и вы хотите конвертировать в JSON, используя Джексона. Поэтому сначала вы можете заменить строку "\ n" на "". Затем проанализируйте вашу строку JSON для объекта JSON. Проверьте этот простой пример и попробуйте это в вашем случае. Надеюсь, это поможет вам.

fun main(){
    val myobj="{\nname: \"John\",\n age: 31,\n city: \"New York\"}"
    val result=myobj.replace("\n","")
    print(result)
}
...