从Kotlin android中的json字符串中删除换行符\ n

问题描述 投票:1回答:1

我正在尝试从json字符串中删除\ n个字符,因为它不允许我在文本视图中设置文本。我尝试了类似how to remove attributes from json using Kotlin and jackson ObjectMapper的其他示例,但并没有帮助我。我想使用Gson将json中的值分配给textviews,但是由于\ n个字符而使它为null。

我也尝试用.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字符串中的值设置为textview,该值将为null,并且什么也不显示。

提前感谢

android json string kotlin newline
1个回答
1
投票

[我认为您的JSON首次为String,并且您想使用Jackson转换为JSON。因此,首先您可以将字符串“ \ n”替换为“”。然后将您的JSON字符串解析为JSON对象。检查这个简单的示例,然后尝试这种情况。希望对您有帮助。

fun main(){
    val myobj="{\nname: \"John\",\n age: 31,\n city: \"New York\"}"
    val result=myobj.replace("\n","")
    print(result)
}
© www.soinside.com 2019 - 2024. All rights reserved.