我读取json数据明明是 开头,结尾的。可android为什么总是报错:JSONObject text must begin with '' a

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我读取json数据明明是 开头,结尾的。可android为什么总是报错:JSONObject text must begin with '' a相关的知识,希望对你有一定的参考价值。

纠结10多天了,望高手指点。一定给高分。
非成勿扰,不知道请别添乱了。谢谢

说不定你"success":true,"msg":"成功"在程序里是用双引号引起来的呢,把一个String类型的字符串和把一个字符串转换成JSON数据是不一样的,区别就是"result":"OK","message":"操作成功"与“"result":"OK","message":"操作成功"” 参考技术A 我遇到这种问题有两种解决办法:1、如果只是测试,可以将字符串放在nopad++中,你将字符全部显示,会发现在前面会有一个字符,你可以使用nopad++的utf8的无bom格式编码,这样就可以生成了2、如果是生产中,比如在数据库返回的,遇到这种情况,可以将数据存进map,然后取出来,就可以生成json,这个方法虽然笨了点,但是能解决这个问题,望采纳 参考技术B String jsonStr1 = "'name':111,'child':'1'";
String jsonStr2 = "'name':111,'child':'1'";
char c1 = jsonStr1.charAt(0);
System.out.println(0+c1);
char c2 = jsonStr2.charAt(0);
System.out.println(0+c2);

我找到原因了,这两个“”不一样,你肯定是用了另外一个
参考技术C "success":true,"msg":"成功" 这样的格式没有问题的,它里面的key/value你也给套上引号,value是数字的不用,再试试 参考技术D 你是从什么地方获取json字符串的?自己编写的 还是服务器返回的? 如果是服务器返回的请查看你的请求 返回的字符串是否为null。我今天就做这个了也报这个错误 找了一上午才知道我请求返回的对象是null。

Typescript - 在字符串的开头和结尾删除多个字符/获取列表 JSON 元素的属性

【中文标题】Typescript - 在字符串的开头和结尾删除多个字符/获取列表 JSON 元素的属性【英文标题】:Typescript - Remove multiple char at the begin and end of a string/Get attributs of list JSON element 【发布时间】:2018-11-18 14:42:13 【问题描述】:

我有以下字符串:

""element":"634634""

我想删除始终相同的"element":" 和最后一个字符" 唯一动态的(大小可以改变)是634634 我该怎么做?

或者也许有人可以提供帮助:

我有以下数组:

我想制作一个字符串数组 (myArray: string[]) ,其中包含 "734734"、"utruytuyt" ......这可能吗?

谢谢

【问题讨论】:

【参考方案1】:

由于您的数据是 JSON 格式,您可以简单地对其进行解析。

const str = '"element":"634634"';

const obj = JSON.parse(str);

console.log(obj.element);

【讨论】:

【参考方案2】:

您还可以使用Array.map() 遍历数组以实现这些字符串的数组:

const listElement = [
  '"element":"734734"',
  '"element":"utruytuyt"',
  '"element":"07078"',
  '"element":"khgkhg45"',
];

const result = listElement.map((str: string) => JSON.parse(str).element);

console.log(result);

【讨论】:

【参考方案3】:

我的建议是使用 Javascript 来处理该字符串。

例如,您可以使用函数将符号替换为空

replace('', '');

【讨论】:

以上是关于我读取json数据明明是 开头,结尾的。可android为什么总是报错:JSONObject text must begin with '' a的主要内容,如果未能解决你的问题,请参考以下文章

从 JSON 对象/字符串或 Java 脚本变量中删除开头和结尾的双引号?

如何从 Swift 3.1 中的 API 创建解析数据,API 以括号开头和结尾

Typescript - 在字符串的开头和结尾删除多个字符/获取列表 JSON 元素的属性

js正则表达式过滤以指定字符开头以指定字符结尾的文本内容

delphi 过滤开头 结尾 全部 空格的函数

整合去除HTML 标签, 去除开头结尾换行,将连续空格合并为一个