在这篇文章中,我们将带领您了解JSON类型不匹配或org.json.jsonecxeption的全貌,包括json格式不正确的相关情况。同时,我们还将为您介绍有关android–org.json.JS
在这篇文章中,我们将带领您了解JSON类型不匹配或org.json.jsonecxeption的全貌,包括json格式不正确的相关情况。同时,我们还将为您介绍有关android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject、android – 错误org.json.JSONException:PROJECT_NAME没有值这是我的json、c# – Newtonsoft.Json.JsonReaderException:读完JSON内容后遇到的其他文本:、com.alibaba.fastjson.JSONException: exepct ''['', but error, pos 1, json : %255B%257B%2522l...的知识,以帮助您更好地理解这个主题。
本文目录一览:- JSON类型不匹配或org.json.jsonecxeption(json格式不正确)
- android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject
- android – 错误org.json.JSONException:PROJECT_NAME没有值这是我的json
- c# – Newtonsoft.Json.JsonReaderException:读完JSON内容后遇到的其他文本:
- com.alibaba.fastjson.JSONException: exepct ''['', but error, pos 1, json : %255B%257B%2522l...
JSON类型不匹配或org.json.jsonecxeption(json格式不正确)
链接是
http://iipacademy.in/askpoll/ten_feed.php
异常在onPostExecute()方法(第4行)中:
Log.i("result",result);
try {
if (result != null) {
JSONArray jsonArray = new JSONArray(result); // erreor
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject objJson = jsonArray.getJSONObject(i);
TopTenGetterSetter obj = new TopTenGetterSetter();
obj.setQ(objJson.getString("question"));
obj.setA(objJson.getString("option1"));
obj.setB(objJson.getString("option2"));
obj.setC(objJson.getString("option3"));
obj.setD(objJson.getString("option4"));
polls.add(obj);
}
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),"error",Toast.LENGTH_SHORT).show();
}
LOGCAT:
12-18 03:20:45.447: W/System.err(2790): org.json.JSONException: Value response of type java.lang.String cannot be converted to JSONArray
12-18 03:20:45.447: W/System.err(2790): at org.json.JSON.typeMismatch(JSON.java:111)
12-18 03:20:45.447: W/System.err(2790): at org.json.JSONArray.<init>(JSONArray.java:91)
12-18 03:20:45.447: W/System.err(2790): at org.json.JSONArray.<init>(JSONArray.java:103)
12-18 03:20:45.447: W/System.err(2790): at com.example.askpollie.LatestPollParticipated$FetchingEventsDetails.onPostExecute(LatestPollParticipated.java:188)
12-18 03:20:45.447: W/System.err(2790): at com.example.askpollie.LatestPollParticipated$FetchingEventsDetails.onPostExecute(LatestPollParticipated.java:1)
12-18 03:20:45.447: W/System.err(2790): at android.os.AsyncTask.finish(AsyncTask.java:631)
12-18 03:20:45.447: W/System.err(2790): at android.os.AsyncTask.access$600(AsyncTask.java:177)
12-18 03:20:45.447: W/System.err(2790): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
12-18 03:20:45.447: W/System.err(2790): at android.os.Handler.dispatchMessage(Handler.java:99)
12-18 03:20:45.447: W/System.err(2790): at android.os.Looper.loop(Looper.java:137)
12-18 03:20:45.447: W/System.err(2790): at android.app.ActivityThread.main(ActivityThread.java:5103)
12-18 03:20:45.447: W/System.err(2790): at java.lang.reflect.Method.invokeNative(Native Method)
12-18 03:20:45.447: W/System.err(2790): at java.lang.reflect.Method.invoke(Method.java:525)
12-18 03:20:45.447: W/System.err(2790): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
12-18 03:20:45.447: W/System.err(2790): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-18 03:20:45.447: W/System.err(2790): at dalvik.system.NativeStart.main(Native Method)
12-18 03:20:45.447: D/dalvikvm(2790): GC_FOR_ALLOC freed 5131K,55% free 4437K/9672K,paused 2ms,total 2ms
消息是一个数组,所以它的代码应该是什么或如何解决?
提前致谢 。。。
android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject
我在JsonObject中收到错误:
org.json.JSONException: Value Authorization of type java.lang.String cannot be converted to JSONObject
在我的Android应用程序中,我只是传递API密钥和URL id以获取以下URL中的JSON响应.我使用JSON数组显示JSON内容.
但如果我:
public class AndroidAPiActivity extends Activity { /* * FlickrQuery = FlickrQuery_url * + FlickrQuery_per_page * + FlickrQuery_nojsoncallback * + FlickrQuery_format * + FlickrQuery_tag + q * + FlickrQuery_key + FlickrApiKey */ String FlickrQuery_url = "http://192.138.11.9/api/interests/"; String FlickrQuery_per_page = "&per_page=1"; String FlickrQuery_nojsoncallback = "&nojsoncallback=1"; String FlickrQuery_format = "&format=json"; String FlickrQuery_tag = "&tags="; String FlickrQuery_key = "&api_key="; // Apply your Flickr API: // www.flickr.com/services/apps/create/apply/? String FlickrApiKey = "f65215602df8f8af"; EditText searchText; Button searchButton; TextView textQueryResult,textJsonResult; ImageView imageFlickrPhoto; Bitmap bmFlickr; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); searchText = (EditText)findViewById(R.id.searchtext); searchButton = (Button)findViewById(R.id.searchbutton); textQueryResult = (TextView)findViewById(R.id.queryresult); textJsonResult = (TextView)findViewById(R.id.jsonresult); imageFlickrPhoto = (ImageView)findViewById(R.id.flickrPhoto); searchButton.setonClickListener(searchButtonOnClickListener); } private Button.OnClickListener searchButtonOnClickListener = new Button.OnClickListener(){ public void onClick(View arg0) { // Todo Auto-generated method stub String searchQ = searchText.getText().toString(); String searchResult = QueryFlickr(searchQ); textQueryResult.setText(searchResult); String jsonResult = ParseJSON(searchResult); textJsonResult.setText(jsonResult); if (bmFlickr != null){ imageFlickrPhoto.setimageBitmap(bmFlickr); } }}; private String QueryFlickr(String q){ String qResult = null; String qString = FlickrQuery_url + FlickrQuery_per_page + FlickrQuery_nojsoncallback + FlickrQuery_format + FlickrQuery_tag + q + FlickrQuery_key + FlickrApiKey; HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(qString); try { httpentity httpentity = httpClient.execute(httpGet).getEntity(); if (httpentity != null){ InputStream inputStream = httpentity.getContent(); Reader in = new InputStreamReader(inputStream); BufferedReader bufferedreader = new BufferedReader(in); StringBuilder stringBuilder = new StringBuilder(); String stringReadLine = null; while ((stringReadLine = bufferedreader.readLine()) != null) { stringBuilder.append(stringReadLine + "\n"); } qResult = stringBuilder.toString(); } } catch (ClientProtocolException e) { // Todo Auto-generated catch block e.printstacktrace(); } catch (IOException e) { // Todo Auto-generated catch block e.printstacktrace(); } return qResult; } private String ParseJSON(String json){ String jResult = null; bmFlickr = null; String key_id; String category; String subcategory; String title; String icon_image; try { JSONObject JsonObject = new JSONObject(json); JSONObject Json_photos = JsonObject.getJSONObject("interests"); JSONArray JsonArray_photo = Json_photos.getJSONArray("interest"); //We have only one photo in this exercise JSONObject FlickrPhoto = JsonArray_photo.getJSONObject(0); key_id = FlickrPhoto.getString("row_key"); category = FlickrPhoto.getString("category"); subcategory = FlickrPhoto.getString("subcategory"); title = FlickrPhoto.getString("title"); jResult = "\n key_id: " + key_id + "\n" + "category: " + category + "\n" + "subcategory: " + subcategory + "\n" + "title: " + title + "\n"; bmFlickr = LoadPhotoFromFlickr(key_id,category,subcategory,title); } catch (JSONException e) { // Todo Auto-generated catch block e.printstacktrace(); } return jResult; } private Bitmap LoadPhotoFromFlickr( String key_id,String category,String subcategory,String title){ Bitmap bm= null; String icon_image = null; // String FlickrPhotoPath =""; String FlickrPhotoPath ="http://182.72.180.34/media/"+icon_image+".jpg"; URL FlickrPhotoUrl = null; try { FlickrPhotoUrl = new URL(FlickrPhotoPath); HttpURLConnection httpconnection = (HttpURLConnection) FlickrPhotoUrl.openConnection(); httpconnection.setDoInput(true); httpconnection.connect(); InputStream inputStream = httpconnection.getInputStream(); bm = BitmapFactory.decodeStream(inputStream); } catch (MalformedURLException e) { // Todo Auto-generated catch block e.printstacktrace(); } catch (IOException e) { // Todo Auto-generated catch block e.printstacktrace(); } return bm; } }
解决方法
基于HTML响应,我可以告诉你这不是JSON.该响应告诉我您的Web服务的URL不正确.
您需要检查您的网址.
额外信息/上一个答案:
看起来简单的答案是正确的 – 您的结果不是有效的JSON字符串.有关JSON应该是什么样的详细信息,请参见JSON.org网站.
查看JSON Parser Online – 我发现它在使用JSON时非常有用.
很奇怪你正在请求JSON,它没有正确地返回它 – 也许我错过了一些东西.
android – 错误org.json.JSONException:PROJECT_NAME没有值这是我的json
我收到错误org.json.JSONException:PROJECT_NAME没有值这是我的json
{"PROJECTS":[
{
"PROJECT_NUMBER": "2062",
"PROJECT_NAME": "OPW 51183"
},
{
"PROJECT_NUMBER": "404",
"PROJECT_NAME": "404"
},
{
"PROJECT_NUMBER": "2125",
"PROJECT_NAME": "OPW 50016"
},
{
"PROJECT_NUMBER": ""
},
{
"PROJECT_NUMBER": "2130",
"PROJECT_NAME": "OPW 51151 63rd & Shirley SEW S"
},
{
"PROJECT_NUMBER": "2159",
"PROJECT_NAME": "OPW 51226"
}
]
}
和鳕鱼是:
for (int i = 0; i < innerProjectarray.length(); i++)
{
JSONObject obj=innerProjectarray.getJSONObject(i);
String projectnumber1=obj.getString("PROJECT_NUMBER");
String projectname1=obj.getString("PROJECT_NAME");
}
有没有办法找到密钥,如果密钥不存在,那么np需要获取值od特定字符串帮助我谢谢
解决方法:
使用has检查Json中是否存在密钥.如果此对象具有name的映射,则返回true.
喜欢
for (int i = 0; i < innerProjectarray.length(); i++) {
JSONObject obj = innerProjectarray.getJSONObject(i);
if (obj.has("PROJECT_NUMBER")) {
String projectnumber1 = obj.getString("PROJECT_NUMBER");
}
if (obj.has("PROJECT_NAME")) {
String projectname1 = obj.getString("PROJECT_NAME");
}
}
另一种方法是使用optString,如果存在,则返回按名称映射的值,必要时强制它.如果不存在此类映射,则返回空字符串.
for (int i = 0; i < innerProjectarray.length(); i++) {
JSONObject obj = innerProjectarray.getJSONObject(i);
String projNum = obj.optString("PROJECT_NUMBER");
String projName = obj.optString("PROJECT_NAME");
// and use both values.
}
c# – Newtonsoft.Json.JsonReaderException:读完JSON内容后遇到的其他文本:
我创建了一个类,并尝试将其反序列化为该对象,但它说
课程如下.
class bundle { public string msgid { get; set; } public string messagetype { get; set; } public string message { get; set; } public string from { get; set; } }
例外:Newtonsoft.Json.JsonReaderException:完成读取JSON内容后遇到的其他文本:y.路径”,第1行,第93位.
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader,Type objectType,Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader,Type objectType)
在Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader,Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value,Type type,JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value)
在Listener.Program.LogStatus(布尔接收,Byte []缓冲区,Int32长度)in Listener.Program.d__5.MoveNext()in —从前一个位置抛出异常的堆栈跟踪结束—
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.GetResult()
在Listener.Program.d__1.MoveNext()
我得到的数组如下,
{"messagetype":"chatmsg","msgid":"123_119","from":"sam","message":"Hi there,good morning ! "} {"messagetype":"chatmsg","msgid":"123_120","message":"how are you?"} {"messagetype":"chatmsg","msgid":"6478316959_121","message":"this is msg"} ood morning !"} {"messagetype":"ping"}g","message":"you are crazy"} orning ! "}
最后是意外的令牌.
解决方法
string final = string.Empty; string name = encoder.GetString(buffer); char []arr = name.ToArray(); boolean bln = true; foreach (char item in arr) { if (bln) { if (item == '}') { final += item.ToString(); break; } else { final += item.ToString(); } } } Console.WriteLine(final);
这将截断其余的字符.
com.alibaba.fastjson.JSONException: exepct ''['', but error, pos 1, json : %255B%257B%2522l...
com.alibaba.fastjson.JSONException: exepct ''['', but error, pos 1, json : %255B%257B%2522list%2522%253A%255B%257B%2522itemId%2522%253A1369331%252C%2522num%2522%253A2%257D%255D%257D%255D
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:672)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:662)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:657)
at com.alibaba.fastjson.JSON.parseArray(JSON.java:514)
at com.qingmu.core.controller.CartController.addGoodsToCartList(CartController.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
在使用tomcat8时候会出现的一个json格式字符串异常
这是因为我在进行cookie接收的cookie没有按照我想要的格式进行转换
需要手动进行转换(
cartList = JSON.parseArray(URLDecoder.decode(value,"UTF-8"), Cart.class);
)
今天关于JSON类型不匹配或org.json.jsonecxeption和json格式不正确的介绍到此结束,谢谢您的阅读,有关android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject、android – 错误org.json.JSONException:PROJECT_NAME没有值这是我的json、c# – Newtonsoft.Json.JsonReaderException:读完JSON内容后遇到的其他文本:、com.alibaba.fastjson.JSONException: exepct ''['', but error, pos 1, json : %255B%257B%2522l...等更多相关知识的信息可以在本站进行查询。
本文标签: