, используя cast
вместо recast
(примечание 'Frequency'
теперь 'value'
)
df <- data.frame(Category = c("First","First","First","Second","Third","Third","Second")
, value = c(10,15,5,2,14,20,3))
install.packages("reshape")
result<-cast(df, Category ~ . ,fun.aggregate=sum)
, чтобы получить:
Category (all)
First 30
Second 5
Third 34
Строка JSON, которую Вы имеете, является массивом с 1 объектом в нем, так для доступа к объекту, необходимо получить доступ к массиву сначала. С json.php, который похож на это:
[
{
"iId": "1",
"heading": "Management Services",
"body": "<h1>Program Overview</h1><h1>January 29, 2009</h1>"
}
]
я просто попробовал это
$.getJSON("json.php", function(json) {
alert(json[0].body); // <h1>Program Overview</h1><h1>January 29, 2009</h1>
alert(json[0].heading); // "Management Services"
alert(json[0].iId); // "1"
});
, я также попробовал это:
$.get("json.php", function(data){
json = eval(data);
alert(json[0].body); // <h1>Program Overview</h1><h1>January 29, 2009</h1>
alert(json[0].heading); // "Management Services"
alert(json[0].iId); // "1"
});
И они оба хорошо работали для меня.
Я думаю, что Вы задаете неправильный вопрос. Используя $ .getJSON () намного легче, и если бы Вы получили проблему с ним, то было бы лучше для просьбы $ .getJSON (), чем за $ .ajax (). Вы могли бы также найти полезное рассмотрение getJSON функциональный исходный код, потому что я вижу, Вы получили много бесполезного материала там с mimeTypes. Это не путь.
Значение, которое Вы пытаетесь проанализировать, обертывается в скобках [], что означает, что это - массив. Вы пробуете к оценке массив. Попробуйте к оценке первый элемент массива, и это должно работать...
var json = eval("("+data[0]+");");
кроме того, я рекомендовал бы использовать JSON.parse (), обеспечил здесь вместо того, чтобы назвать оценку () непосредственно.
Вы могли иметь его возврат как текст и затем проанализировать его с синтаксический анализатор json.org
, Чтобы видеть, работает ли это кто-либо по-другому
Сделал Вы пытаетесь XML-кодировать HTML (т.е. & лейтенант; H1& gt;)?
Во-первых, попытайтесь точно определить, если проблема с общим кодированием/декодированием JSON. попробуйте более простые объекты, с числами и простые строки, затем с заключенным в кавычки HTML.
После того, как Вы получите работу JSON, действительно необходимо действительно рассмотреть удаление HTML оттуда. Намного лучше должен переместить просто данные, и представление отпуска назначает в шаблоны. При использовании Ajax, который означает скрытый шаблон в HTML и использование jQuery копировать его и заливка с данными. проверьте любой из шаблонных плагинов jQuery . Из них jTemplates является общим фаворитом.
Обратите внимание, что в вопросе есть синтаксическая ошибка. Строку с
x.overrideMimeType("application/j-son;charset=UTF-8");
следует читать
x.overrideMimeType("application/json; charset=UTF-8");
Это тоже имеет большое значение.
Удалить [], спереди и последний на jsondata, и он работает.
Если у кого-то все еще есть проблемы с этим, то это потому, что ваш ответ должен быть строкой JSON и content-type "application/json".
Пример для HTTP в asp.net (c#):
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
context.Response.Write("{ status: 'success' }");
}
hth,
Matti
Получил аналогичную ошибку. Мне потребовалось время, чтобы узнать - я мало знал, что PHP (изначально) не поддерживает JSON с PHP5.2. Важное напоминание ...